2

系列文章链接
主要记录自己开始学习Vue的一些源码阅读:基于2.5.8版本

Vue-SourceCode 介绍了

  • Vue构造函数如何来的,以及其上的属性/方法/原型方法/静态方法
  • new Vue(options)的过程发生了什么
  • vnode对象如何生成
  • vnode对象如何挂载到真实的DOM节点
  • …..

VueRouter-SourceCode介绍了

  • VueRouter的插入,VueRouter的使用,VueRouter实例的生成
  • VueRouter实例对象上的matcher和history对象的创建
  • VueRouter中的Vue组件RouterLink和RouterView的源码实现

Vuex-SourceCode介绍了

  • Vuex的插入,Vuex的使用,Vuex.Store的实例生成
  • Vuex实例生成:ModuleCollection installModule resetStoreVM等核心创建store实例的时候实现
  • Vuex对象中的辅助函数 mapGetters. mapActions等的源码实现
  • Vuex.Store生成的实例对象commit(同步)和dispatch(异步)的源码实现与区别

对比VueRouter和Vuex

  • new VueRouter(options). new Vuex.Store(options) 中的options都支持route嵌套和module嵌套
  • route的嵌套,无论主路由还是子路由,都映射到了matcher对象上
  • module的嵌套,无论主模块还是子模块,actions getters mutations都映射到了store对象上,所以后面在任何子组件中都可以通过辅助函数得到modules中的getters actions mutations等
  • router-view组件根据matcher匹配到的组件进行渲染对应的组件
  • 辅助函数可以在各个组件中获取到store实例对象上的actions. getters. mutations等;

jimwmg
151 声望4 粉丝

点点滴滴,不忘初心