我有一个使用vuex共享数据的组件树。该组件树应该是递归的。每个递归都应具有自己的vuex存储实例。在组件树的根目录中,我这样注册商店:
beforeCreate () {
this.$store = createStore()
}
当我通过this.$store
在组件树的子级之一中访问商店时,它总是指向商店的 root 实例。
这是递归树的样子(简化):
- Recursion Level 1 (registers store)
- Component (uses this.$store)
- Recursion Level 2 (registers store)
- Component (uses this.$store => points to Recursion Level 1's store)
商店的状态通过函数定义:
state () { ... }
商店本身是由另一个功能创建的:
export default function createStore () {
return new Vuex.Store({
...options,
})
}