在组件中,调用Mutations函数,使用
this.$store.commit(‘xxx’)
来调用。
也可以使用mapMutations语法糖,例如
import { mapMutations } from 'vuex'
export default {
methods: {
...mapMutations([
'addMutFunc1', // 将 `this.addMutFunc1()` 映射为 `this.$store.commit('addMutFunc1')`
]),
...mapMutations({
add: 'addMutFunc2' // 将 `this.add()` 映射为 `this.$store.commit('addMutFunc2')`
})
}
}
传参数的写法:
html
<button class="fl" @click='smladdFunc3(item.id)'>+</button>
- mutations :
addMutFunc3(state, id){
if (id == "001") {
state.temStaus = "001";
}
},
组件里的methods:
import { mapMutations } from 'vuex' // 先从vuex里导入 mapMutations
methods:{
//将mutation里的方法映射到该组件内,等同于this.$store.commit('addMutFunc3')
...mapMutations([
'addMutFunc3'
]),
//由于上一步已经将mutation映射到组件内,所以组件可以直接调用INCREASE_SHOPCART
smladdFunc3(id){
this.addMutFunc3(id);
}
}
如果是模块里面的Mutation,写法如下:
// 将 `this.incrementFunc()` 映射为moudleA模块, `this.$store.commit('/moudleA/incrementFunc')`
...mapMutations("moudleA", ['incrementFunc'])
*洽西游戏网