vuex中的acitons的理解

1/首先vuex中的mutions相当于vue组件中的methods,vuex中建议我们mutions中的方法名用大写,action中定义的方法是用来提交mutions中的方法,所以aciton中的方法也要有方法名,并且方法名有一个参数,这个参数就是vuex的一个实例,通过实例可以获取这个实例的属性和方法。

vuex源码中的实例context 包含以下属性和方法 

context = {  dispatch: local.dispatch,
       commit: local.commit,
       getters: local.getters,
       state: local.state,
       rootGetters: store.getters,
       rootState: store.state
 }

使用变量解构赋值后{ commit }的commit = context.commit 了

2/actions中的方法是用来commit()方法来提交 mutions中的方法从而来实现异步,

actions:{
  add({commit}){
    commit('method中的方法名')
   }
}

3、那如何执行actions中的的方法呢?有两种方法

   (1)在组件中使用this.stroe.dispatch('方法名') (这种方法比较麻烦)

    (2)使用vuex中的 mapActions方法 ,先import {mapActions} from 'vuex' 

              然后在组件中的 methods中添加

methods: {
           ...mapActions(['increment', 'decrement'])
        }
上一篇:dede织梦动态页面通过手机模板实现wap浏览


下一篇:vuex持久化插件使用