Vuex中actions对象方法中接收的参数

650 阅读1分钟
const actions = {
//第一个参数context是上下文对象,也可以理解为store;context对象里面可以获取到getters或者state的数据,或者执行mutations里面的方法,第二个参数
    changeSync(context,val){//第一种写法
        context.commit("change",val);
    },
    changeSync({ commit, rootGetters },val){//第二种写法,直接解构context对象中的属性
        commit("change",val);
    }
} 

action函数可以接收一个与store实例具有相同方法的属性context,这个属性中包括下面几部分:

context:{
        state,   等同于store.$state,若在模块中则为局部状态
        rootState,   等同于store.$state,只存在模块中
        commit,   等同于store.$commit
        dispatch,   等同于store.$dispatch
        getters   等同于store.$getters
}