vuex mutations的两种调用方法小结

mutations的调用方法

直接通过$store.commit调用

不需要再进行其他配置

通过在methods中注册方法调用

//先引入mapMutations
import {mapMutations} from 'vuex'
export default {
    data(){
        return{
            msg:"hello vuex"
        }
    },
    //注册方法,三个.是属性展开符,可以将mapMutations中的方法展开后放入methods中,就可以直接调用了
    methods:{
        ...mapMutations(['mutations中的方法名称'])
    }
}

细数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方法了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(vuex mutations的两种调用方法小结)