我在我的vuex存储中有两个模块。从Vuex中的一个模块更改另一个模块状态
var store = new Vuex.Store({
modules: {
loading: loading
posts: posts
}
});
在模块loading
,我有一个属性saving
可以设置两种true
或false
,也有变异函数命名TOGGLE_SAVING
来设置该属性。
在模块posts
中,在获取帖子之前和之后,我想要更改属性saving
。我正在通过posts
模块中的某个操作调用commit('TOGGLE_SAVING')
来完成此操作。
var getPosts = function (context) {
contex.commit(TOGGLE_LOADING);
};
当试图提交,我得到了以下错误控制台
[vuex] unknown local mutation type: TOGGLE_LOADING, global type: posts/TOGGLE_LOADING
我如何使用commit
另一个模块变异状态?
太棒了。这很好。谢谢 –
如果你使用模块和命名空间,不要忘记把命名空间添加到'commit',比如'commit('namespace/TOGGLE_SAVING',null,{root:true})',否则它不会工作。 – brainbag