vuex mutations的两种调用方法小结
时间:2023-02-18 10:17:04|栏目:vue|点击: 次
mutations的调用方法
直接通过$store.commit调用
<button @click="$store.commit('mutations中的方法名','可带参数')">调用</button>
不需要再进行其他配置
通过在methods中注册方法调用
//先引入mapMutations import {mapMutations} from 'vuex' export default { data(){ return{ msg:"hello vuex" } }, //注册方法,三个.是属性展开符,可以将mapMutations中的方法展开后放入methods中,就可以直接调用了 methods:{ ...mapMutations(['mutations中的方法名称']) } }
<button @click="mutations中的方法名称('可带参数')">-</button>
细数mutations的用法
为什么要用mutations
使用mutations的好处是可以跟踪到是哪里调用了mutations里的方法,在严格模式下调用mutations也不会报错。
如果用其它方法的话上面说的两个好处都不存在。
用法
先定义个mutations对象,然后定义指定的方法就可以了,很简单,代码示例:
state: { isHome: true }, mutations: { changeIsHome(state) { // 这里将state传进来了 state.isHome = false } }
在stote.js中定义好mutations方法之后,就在vue中触发事件的时候调用mutations方法就可以了,调用方法示例:
// 这里示例是在created方法中触发mutations方法 created() { this.$store.commit('changeIsHome') // 这就是调用的方法 },
执行:this.$store.commit('changeIsHome');就可以调用mutations方法了。