最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解在Vue中如何模塊化使用Vuex

 更新時間:2024年01月24日 11:56:41   作者:JacksonChen_  
這篇文章給大家介紹了在Vue 中如何模塊化使用 Vuex,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下

正常使用

// src/store/index.js
 
import Vue from 'vue';
import Vuex from 'vuex';
 
Vue.use(Vuex);
 
export default new Vuex.Store({
  state: {
    count: 0, // 一個簡單的狀態(tài)示例
  },
  mutations: {
    increment(state) {
      state.count++;
    },
    decrement(state) {
      state.count--;
    },
  },
  actions: {
    increment(context) {
      context.commit('increment');
    },
    decrement(context) {
      context.commit('decrement');
    },
  },
  getters: {
    getCount: state => state.count,
  },
});

在組件中使用 Vuex: 在需要訪問或修改狀態(tài)的組件中,你可以使用Vuex提供的輔助函數(shù)。

// src/components/Counter.vue
 
<template>
  <div>
    <p>Count: {{ count }}</p>
    <button @click="increment">Increment</button>
    <button @click="decrement">Decrement</button>
  </div>
</template>
 
<script>
import { mapState, mapActions } from 'vuex';
 
export default {
  computed: {
    ...mapState(['count']),
  },
  methods: {
    ...mapActions(['increment', 'decrement']),
  },
};
</script>

模塊化使用 

優(yōu)點

在個人小項目當中,不使用模塊化沒什么問題,但是在公司或者大型項目下就需要使用模塊化管理,使用模塊化有利于可維護性、團隊協(xié)作、代碼結(jié)構(gòu)清晰、提高可讀性等優(yōu)點。

假設你有兩個模塊,一個用于管理用戶信息,另一個用于管理商品信息。

首先,分別創(chuàng)建兩個 Vuex 模塊文件:

模塊文件

userModule.js

// userModule.js
const state = {
  user: null,
  userName:"張三"
};
 
const mutations = {
  SET_USER(state, user) {
    state.user = user;
  },
};
 
const actions = {
  setUser({ commit }, user) {
    commit("SET_USER", user);
  },
};
 
export default {
  namespaced: true,
  state,
  mutations,
  actions,
};

productModule.js

// productModule.js
const state = {
  products: [],
  productName:'電腦'
};
 
const mutations = {
  ADD_PRODUCT(state, product) {
    state.products.push(product);
  },
};
 
const actions = {
  addProduct({ commit }, product) {
    commit("ADD_PRODUCT", product);
  },
};
 
export default {
  namespaced: true,
  state,
  mutations,
  actions,
};

集中模塊的狀態(tài)到 Getters,方便頁面中使用

在根級 Vuex Store 中創(chuàng)建 Getters,用于集中所有模塊的狀態(tài)數(shù)據(jù):

getters.js

// getters.js
export default {
  userName: state => state.user.userName,
  productName: state => state.product.productName,
};

創(chuàng)建根級的 Vuex Store 文件,將上述的模塊引入并注冊:

store.js

import Vue from 'vue';
import Vuex from 'vuex';
import userModule from './userModule';
import productModule from './productModule';
import getters from './getters'; // 導入 getters 為對象
 
Vue.use(Vuex);
 
const store = new Vuex.Store({
  modules: {
    user: userModule,
    product: productModule,
  },
  getters,
});
 
export default store;

頁面使用

<template>
  <div>
    <h1>User Name: {{ userName }}</h1>
  </div>
</template>
 
<script>
export default {
  computed: {
    userName() {
      return this.$store.getters.userName;
    }
  },
  mounted() {
    this.$store.dispatch("user/setUser", { userName: "John Doe" });
    this.$store.dispatch("product/addProduct", { name: "Product A" });
  },
};
</script>

到此這篇關于詳解在Vue中如何模塊化使用Vuex的文章就介紹到這了,更多相關Vue模塊化使用Vuex內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談Vue組件單元測試究竟測試什么

    淺談Vue組件單元測試究竟測試什么

    這篇文章主要介紹了淺談Vue組件單元測試究竟測試什么,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 在vue自定義組件中使用?v-model指令詳情

    在vue自定義組件中使用?v-model指令詳情

    這篇文章主要介紹了在vue自定義組件中使用?v-model指令詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • vue3+el-select實現(xiàn)觸底加載更多功能(ts版)

    vue3+el-select實現(xiàn)觸底加載更多功能(ts版)

    這篇文章主要給大家介紹了基于vue3和el-select實現(xiàn)觸底加載更多功能,文中有詳細的代碼示例,感興趣的同學可以借鑒參考下
    2023-07-07
  • Vue CLI4 Vue.config.js標準配置(最全注釋)

    Vue CLI4 Vue.config.js標準配置(最全注釋)

    這篇文章主要介紹了Vue CLI4 Vue.config.js標準配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • vue實現(xiàn)excel文件的導入和讀取完整步驟

    vue實現(xiàn)excel文件的導入和讀取完整步驟

    Vue的數(shù)據(jù)綁定功能非常強大,很適合用來讀取Excel內(nèi)容,這篇文章主要給大家介紹了關于vue實現(xiàn)excel文件的導入和讀取的相關資料,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • vue中刷新子組件重新加載子組件三種方法

    vue中刷新子組件重新加載子組件三種方法

    組件是Vue.js最強大的功能之一,組件可以擴展HTML元素,封裝可重用的代碼,這篇文章主要給大家介紹了關于vue中刷新子組件重新加載子組件三種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • vue: WebStorm設置快速編譯運行的方法

    vue: WebStorm設置快速編譯運行的方法

    今天小編就為大家分享一篇vue: WebStorm設置快速編譯運行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • web面試MVC與MVVM區(qū)別及Vue為什么不完全遵守MVVM解答

    web面試MVC與MVVM區(qū)別及Vue為什么不完全遵守MVVM解答

    這篇文章主要介紹了web面試中常問問題,MVC與MVVM區(qū)別以及Vue為什么不完全遵守MVVM的難點解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • vue實現(xiàn)頁面滾動到底部刷新

    vue實現(xiàn)頁面滾動到底部刷新

    這篇文章主要為大家詳細介紹了vue實現(xiàn)頁面滾動到底部刷新,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • vue 項目打包通過命令修改 vue-router 模式 修改 API 接口前綴

    vue 項目打包通過命令修改 vue-router 模式 修改 API 接口前綴

    這篇文章主要介紹了vue 項目打包通過命令修改 vue-router 模式 修改 API 接口前綴的相關知識,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-06-06

最新評論

赤峰市| 昌平区| 三门县| 根河市| 盘山县| 河源市| 渝中区| 甘孜县| 香格里拉县| 车致| 类乌齐县| 江陵县| 江陵县| 渝北区| 大田县| 家居| 林州市| 临安市| 旬阳县| 静宁县| 东乡族自治县| 中牟县| 太原市| 南丰县| 大兴区| 柏乡县| 巴中市| 思茅市| 石景山区| 宜丰县| 剑河县| 东港市| 井陉县| 科尔| 四子王旗| 上高县| 沙河市| 五莲县| 正阳县| 余庆县| 沂源县|