1.包含state,getters,mutations,actions,modulesvue
而getters與mutations內的函數都有一個(state)參數getters的能夠傳入playload,state都是局部的限定在自身模塊內的statevuex
actions內的的函數有一個({state,rootState,rootGetters,commit,dispatch},playload)segmentfault
rootState,rootGetters是全局默認參數,如rootGetters是能夠獲取vuex全部的getters用法rootGetters['..../...']函數
2.vuex能夠包含多模塊,在new Vuex.store({this
...spa
modules:{作用域
a,get
bit
}io
})
而在子模塊裏也包含了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()便可調用