1、創建對應的目錄結構
2、index.js文件的內容
import Vue from 'vue'
import Vuex from 'vuex'
import moduleIndex from "./module/module-index"//引入此分包
Vue.use(Vuex);
export default new Vuex.Store({
modules:{//當前的分包模塊如下
moduleIndex
}
})
3、module-index文件的內容
const state = {
a: "初始數據",
};
const mutations = {//異步修改
setA(state,params) {
state.a = params;
}
};
const actions = {};//同步修改
const getters = {
getA:(state)=>(params)=>{//如果使用不到params,請不要傳,不然會報錯
return state.a + params;
}
};
export default {
/* vuex中的store分模塊管理,需要在store的index.js中引入各個模塊,爲了解決不同模塊命名衝突的問題,
將不同模塊的namespaced:true,之後在不同頁面中引入getter、actions、mutations時,需要加上所屬的模塊名 */
namespaced: true,
state,
mutations,
actions,
getters
}
4、在需要的地方使用
this.$store.commit("moduleIndex/setA","修改數據");
console.log(this.$store.getters["moduleIndex/getA"]("獲取數據"));