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"]("获取数据"));