1.state: 共享状态(变量,各组件都能使用),相当于一个全局变量
2.mutations: 更改store中state状态值的唯一方法,通过提交mutation修改状态,同步使用。
3.actions: 类似mutations,通过提交mutations来修改状态值,异步使用。
4.getters: 相当于组件中的计算属性。
一.state
在任何一个组件中,使用 this.$store.state.name 都可得到状态值。
二.mutations
mutations 是唯一能改变 state中的状态值,通过 this.$store.commit(mutations中的方法名)来改变。
带参数和不带参数
三.actions
actions异步通过 this.$store.dispatch(actions中的方法名),在里面再通过context.commit(mutations中的方法名)来异步修改state中的状态值。
context是一个与store实例具有相同属性和方法的对象,可以通过context.state获取状态,也可以通过context.commit来提交更改。
actions的调用是用 this.$store.dispatch
四.getters
getters 相当于组件中的 computed, 用来公共的计算属性。
五.辅助函数
辅助函数:mapState mapMutations mapActions mapGetters
1.mapState
用扩展函数把store中的state的状态值扩展出来,用数组或对象方式来呈现。
2.mapMutations
组件中引入mapMutations, 用...扩展函数把store中mutations的方法扩展出来。
mapMutations中扩展出来的方法相当于映射 this.$store.commit(方法名),然后在触发事件中直接this.方法名就行。
3.mapActions
扩展函数把store中的actions的方法扩展出来,方式同上
4.mapGetters
用扩展函数把store中的getters的方法扩展出来,但是要放在computed中,这是计算属性。