在Nuxt中每页选择Vuex模块

时间:2020-09-20 13:02:42

标签: vue.js vuex nuxt.js

在Nuxt应用中,我具有以下商店模块

// store/a.js
export default {
  state: {
    a: 0
  }
}
// store/b.js
export default {
  state: {
    b: 0
  }
}

和三页。我希望第一页仅使用模块a,第二页仅使用模块b,第三页完全不使用Vuex存储。有简单的方法吗?我知道我可以将模块移到store目录之外,然后在每个页面组件的已创建钩子中使用store.registerModule,但这对我来说似乎并不干净。

1 个答案:

答案 0 :(得分:0)

商店目录中的每个.js文件都将转换为namespaced module

因此,当您在商店中创建a.jsb.js时,您将必须使用这样的命名空间访问它们。

store.dispatch('a/actionname', value);

store.dispatch('b/mutationname', value);

使用nuxt时,无需导入a.jsb.js。您可以开箱即用地使用它。

this.$store.commit('a/save', cart);