vuex
vuex:
1.包含state,getters,mutations,actions,modules
而getters与mutations内的函数都有一个(state)参数getters的可以传入playload,state都是局部的限定在自身模块内的state
actions内的的函数有一个({state,rootState,rootGetters,commit,dispatch},playload)
rootState,rootGetters是全局默认参数,如rootGetters是可以获取vuex所有的getters用法rootGetters['..../...']
2.vuex可以包含多模块,在new Vuex.store({
...
modules:{
a,
b
}
})
而在子模块里也包含了state,getters,mutations,actions 还有一个namespace 用来划分模块作用域
3.若子模块设置了namespace:true ;获取调用子模块如下
this.$store.state (a子模块的在state.a里面)
this.$store.getters['a/getName']
this.$store.commit('a/mutationFunc')
this.$store.dispatch('a/actionFunc')
4.mapState,mapGetters,mapMutations,mapActions是引入到业务模块调用state,getters,mutations,actions的语法糖
mapState,mapGetters是放在computed里面,mapMutations,mapActions是放在methods里面
...mapState(['loginInfo']), //这个是store主模块里的 ,在引入后直接this.loginInfo即可获取
...mapState('a',['rongyunInfo']), //这个是a子模块的 ,在引入后直接this.rongyunInfo即可获取
...mapMutations('a',['saveRongyunTargetId','saveRongyunCustomInfo']), // 这个是a子模块的 ,,在引入后直接this.saveRongyunCustomInfo()即可调用