提交另一个文件nuxt的突变

时间:2019-09-12 13:08:12

标签: vuex nuxt.js

如何在user.js的{​​{1}}中调用称为whoToFollow.js的突变?可能吗?这是我的代码:

reset

但是它不起作用,我得到了这个错误:

async logOut({commit}) { this.$cookies.remove('token'); commit('set_token', null); commit('whoToFollow/reset'); this.$router.push('/sign-in'); },

1 个答案:

答案 0 :(得分:0)

可以直接从其他商店调用突变。您只是缺少名称空间模块所需的选项'{root:true}'。

尽管如此,我还是建议您先在另一个商店中调用一个动作,然后再调用该变异以保持对Vuex模式的正确性。动作->变异

async logOut({commit, dispatch}) {
   this.$cookies.remove('token');
   commit('set_token', null);
   // in the reset action you can then call the commit
   dispatch('whoToFollow/reset', payloadHere, { root: true })
   this.$router.push('/sign-in');
},

我建议您查看Vuex Api文档以了解有关此内容以及为什么需要“ root:true”的更多信息。 https://vuex.vuejs.org/api/#vuex-store-instance-methods