【发布时间】:2020-03-09 18:07:44
【问题描述】:
最近,我一直在构建一个使用大量独立 Vuex 模块的大型应用程序。让我们来看看其中一个(例如support-chat)。支持聊天位于它自己的单独页面上,在初始应用程序加载时使用此模块污染商店将是多余的。我的目标是在加载页面时动态注册此模块。所以我的问题是——我应该在哪里、何时以及如何注册该模块?
我最终在页面组件的beforeCreate钩子中注册了这个模块:
import supportChatModule from '@/vuex/modules/support-chat'
// ...
beforeCreate() {
this.$store.registerModule('support-chat', supportChatModule, { preserveState: process.client })
},
beforeDestroy() {
this.$store.unregisterModule('support-chat')
}
// ...
这种方法有什么缺陷?
如果您能分享您解决该问题的方法,那就太好了。
【问题讨论】:
-
为什么默认设置不适合您?能详细点吗?
标签: vue.js vuex store nuxt.js server-side-rendering