【发布时间】:2019-03-20 07:24:00
【问题描述】:
【问题讨论】:
标签: javascript vuejs2 vuex nuxt.js
【问题讨论】:
标签: javascript vuejs2 vuex nuxt.js
store.registerModule 不返回承诺,所以没有 then 就可以了。您只需调用它,然后执行您的调度。
您还可以使用 preserveState 选项。阅读本期https://github.com/nuxt/nuxt.js/issues/4370
所以你的代码如下:
async asyncData({ store, params }) {
console.log(Users);
store.registerModule("Users", Users, { preserveState: false });
await store.dispatch("Users/GET_USER_INFO", params.index);
},
但是 asyncData 中的代码在客户端或服务器上执行,而不是在两者上执行。因此,在用户页面首次加载时,它将仅在服务器上执行,而在客户端不会注册模块。因此,如果您希望它在服务器端的客户端导航上都可以工作,那么您不能在 asyncData 中执行此操作。像 created hook 这样的东西会更好用
【讨论】: