我们在开发vue项目的时候,不同的组件,父子组件之间,兄弟组件之间,根组件App.vue等等,都可以通过Vue.$store
拿到vuex里面的共享数据源。那么这么多不同层级的组件到底是如何保证都拿到同一个store实例呢
?我们从vuex的源码上面浅显的聊聊中间的实现过程
首先在项目入口文件main.js中,我们从./store
引入index.js
,并且把引入的store
作为初始化Vue的一个option
对Vue进行初始化
我们再来看看./store
文件夹中index.js
里面写了什么:
这里面引入了Vuex
,并且调用Vue.use(Vuex)
时候传入了Vuex
。我们知道Vue.use()
是我们vue中使用插件的一种方式,当执行Vue.use(some plugin)
的时候,会执行插件内部的install
方法
我们再来看看vuex
的源码里面install
方法是怎么写的: