$store的挂载疑惑
来源:12-2 Vuex 初始化(1)

慕仔6385915
2019-08-28
老师,您好。在vuexInit函数中 是给每一个组件实例都分别执行一次beforeCreate来挂载KaTeX parse error: Expected 'EOF', got '的' at position 6: store的̲吧?假如options.sto…store,不存在的话,就向上父组件中找,组件的beforeCreate的执行顺序是由父到子,所以每个子组件都会从父组件中找到$store。我这么理解对吗?
有个疑问就是为什么要在每个组件中都判断进行挂载呢,不直接在根组件的beforeCreate中将$store挂载Vue.prototype中呢?
写回答
1回答
-
ustbhuangyi
2019-08-29
beforeCreate 只是它把 $store 注入到当前实例的原因,实际上 store 对象只在根组件,而子组件是通过递归的 parent 指针一层层往上找,直到找到根组件的 store。
store 如果直接挂在原型上会侵入了 Vue,并不好,因为没有规定 Vue 是单例的,一个页面存在多个 Vue 实例也是可以的,如果我想做多 store 的话,源码这种做法是可以支持的,但是如果直接挂到原型上就做不了了。112020-07-01
相似问题
想问一下,为什么不能挂载到body上呢?
回答 1
computed 属性挂载到实例
回答 4