【发布时间】:2017-07-25 04:04:32
【问题描述】:
我的 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 改变另一个模块中的状态?
【问题讨论】:
-
如果您收到来自 api 的回复,您将使用
commit('loading/TOGGLE_LOADING', response.data, {root: true})