Vue源碼解析

系列文章連接
主要記錄本身開始學習Vue的一些源碼閱讀:基於2.5.8版本node

Vue-SourceCode 介紹了git

  • Vue構造函數如何來的,以及其上的屬性/方法/原型方法/靜態方法
  • new Vue(options)的過程發生了什麼
  • vnode對象如何生成
  • vnode對象如何掛載到真實的DOM節點
  • …..

VueRouter-SourceCode介紹了github

  • 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等;
相關文章
相關標籤/搜索