一、用途
改变状态的唯一途径
二、定义
mutations: {
//处理函数的第一个参数:state(如果定义在模块中,则为模块的局部状态)
//处理函数的第二个参数(可选):payload
increment (state, payload) {
state.count+= payload
}
}
三、访问
//不能直接调用一个 mutation 处理函数,需要以相应的type调用 store.commit 方法
//option里可以有root:true,它允许在命名空间模块里提交根的mutation
commit(type:string, payload?:any, options?: Object)
// 以载荷形式提交
store.commit('increment',{amount: 10}, {root: true})
//对象形式的提交
store.commit({
type: 'increment',
amount: 10
})
四、利用辅助函数访问mutation
//字符创数组形式
...mapMutations(namespace?:string, ['xxx1','xxx2'])
//对象形式
...mapMutations(namespace?:string, {
//方便取个名字
add: 'increment'
})
//组件中this.add({amount: 10}),相当于store.commit('increment',{amount: 10})