美文网首页
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