Может ли кто-нибудь помочь мне Ленивая загрузка модуля Vuex?
Где я делаю неправильно?
https://codesandbox.io/s/py197qvxx?fontsize=14
Где я делаю неправильно?
🤔 А знаете ли вы, что...
JavaScript является одним из трех основных языков веб-разработки, вместе с HTML и CSS.
store.registerModule не возвращает обещание, поэтому на нем нет. Вы просто звоните, а затем делаете свою рассылку.
Также вы сохраняете опцию State. Прочитать этот выпуск https://github.com/nuxt/nuxt.js/issues/4370
Таким образом, ваш код будет следующим:
async asyncData({ store, params }) {
console.info(Users);
store.registerModule("Users", Users, { preserveState: false });
await store.dispatch("Users/GET_USER_INFO", params.index);
},
Но код в asyncData выполняется либо на клиенте, либо на сервере, а не на обоих. Таким образом, при первой загрузке пользовательской страницы он будет выполняться только на сервере, а на клиенте модуль не будет зарегистрирован. Таким образом, вы не можете сделать это в asyncData, если хотите, чтобы он работал как на стороне клиента, так и на стороне сервера. Что-то вроде созданного хука будет работать лучше