- 目的:让代码更好维护,让多种数据分类更加明确。
- 修改
store.js
const countAbout = {
namespaced: true,//开启命名空间
state: {x:1},
mutations: { ... },
actions: { ... },
getters: {
bigSum(state){
return state.sum * 10
}
}
}
const personAbout = {
namespaced: true,//开启命名空间
state: { ... },
mutations: { ... },
actions: { ... }
}
const store = Vuex.Store({
modules: {
countAbout,
personAbout
}
})
- 开启命名空间后,组件中读取state数据:
this.$store.state.personAbout.list
...mapState('countAbout',['sum','school','subject'])
- 开启命名空间后,组件中读取getters数据:
this.$store.getters['personAbout/firstPersonName']
...mapGetters('countAbout',['bigSum'])
- 开启命名空间后,组件中调用dispatch:
this.$store.dispatch('personAbout/addPersonWang',person)
...mapActions('countAbout',{incrementOdd:'jiaOdd',incrementWait:'jiaWait'})
- 开启命名空间后,组件中调用commit:
this.$store.commit('personAbout/ADD_PERSON',person)
...mapMutations('countAbout',{increment:'JIA',decrement:'JIAN'})