最近,我一直在构建使用大量单独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')
}
// ...
这种方法有什么陷阱?
如果您能分享解决该问题的方法,那就太好了。