美文网首页
Vuex(3.1.3)源码阅读——总结

Vuex(3.1.3)源码阅读——总结

作者: 李牧敲代码 | 来源:发表于2020-04-10 17:43 被阅读0次

通过对vuex源码的阅读,现在总结如下:

1. Vuex是一个普通的对象。

2. store的实例化是通过new ModelCollection去整理模块之间的关系,同时根据store和构建的上下文去注册mutation,action,getters,

3. Vuex中间实现的链路就是

Store.getters[key] => store._vm[key] => computed[key] =>raw(local.state...store.state)=>this._vm._data.$$state

4. 通过store.state赋值给_vm.data达到store.state是响应式的效果。

5. 通过store.getter赋值给_vm.computed达到store.getters具有计算属性的能力。

6. dispatch通过Promise.all去处理多个action的情况

7. registerModule通过以下3步去动态添加模块

  1. 扩展模块(ModuleCollection的register方法),
  2. 安装模块(installModule)
  3. 重新生成Store中的Vue实例(store._vm)

8 mapState等都是通过访问this.$store来访问到需要的数据的。

9. Vuex插件就是执行store.subscribe方法,然后Store在commit的时候会遍历执行订阅者的回调函数,然后就可以获取到mutation和state的变化了。

然后所有的插件都是在mutation和state上的变化上去做一些事情。

返回目录

代码阅读地址含注释

相关文章

网友评论

      本文标题:Vuex(3.1.3)源码阅读——总结

      本文链接:https://www.haomeiwen.com/subject/nncdmhtx.html