当前位置: 首页 > Web前端 > vue.js

Vuex-Action的{commit}写法

时间:2023-04-01 12:24:20 vue.js

vuex教程,有这么一句话,这么一段代码:实践中,我们经常使用ES2015的参数解构来简化代码(尤其是需要多次调用commit的时候):actions:{increment({commit}){commit('increment')}}其中,{commit}是解构后写的。这里简单解释一下简化过程:知识点:Action函数接受一个store实例,有context对象,方法和属性都一样,所以这个context参数可以理解为一个store,即这个context参数可以是用于提交突变。因此,上下文还包含以下属性{state,//相当于`store.state`,如果在模块中,就是本地状态rootState,//相当于`store.state`,只存在于modulecommit,//相当于`store.commit`dispatch,//相当于`store.dispatch`getters,//相当于In`store.getters`rootGetters//相当于`store.getters`,只存在于模块中}原文写法:actions:{increment(context){context.commit('increment')}}等价于:actions:{increment({commit:context.commit}){context.commit('increment');}}等同于:actions:{increment({commit}){commit('increment')}}基于ES2015中对象的解构var{foo,bar}={foo:"lorem",bar:"ipsum"};console.log(foo);//"lorem"console.log(bar);//"ipsum"