我在Vuex中有两个模块:
- Auth(Auth.js(
- 用户(User.js(
在我的用户模块中,我有以下操作:
const actions = {
[UPDATE_USER_ACCOUNT](context, payload) {
return new Promise(resolve => {
ESApiService.put("/api/user", payload)
.then(({ data }) => {
context.commit('[SET_AUTH]', data.data.user, { root: true })
//context.commit(SET_USER_ACCOUNT, payload);
resolve(data);
})
.catch(({ response }) => {
context.commit(SET_ERROR, response);
});
});
},
}
当前的问题是我得到以下错误:[vuex] unknown mutation type: [SET_AUTH]
我还尝试过:context.commit('SET_AUTH', data.data.user, { root: true })
并得到这个错误:[vuex] unknown mutation type: SET_AUTH
SET_AUTH已在:AUTH.js中注册,如下所示:
[SET_AUTH](state, user) {
state.isAuthenticated = true;
state.user = user;
state.errors = {};
},
如何做到这一点?
如果您不使用名称空间,请尝试以下操作:
commit('SET_AUTH', data.data.user, { root: true })
如果您正在使用名称空间
commit('namespace/SET_AUTH', data.data.user, { root: true })