Vue原理包括哪些?
1.組件化和MVVM
2.響應式原理
3.vdom 和 diff 算法
4.模板編譯
5.組件渲染過程
6.前端路由
組件化基礎
1.很久以前”的組件化
asp jsp php 已經有組件化
nodejs 中已有類似組件化
2.數據驅動視圖-Vue MVVM
mvvm M☞model V☞View VM☞ViewModel
3.數據驅動視圖-React setStata
Vue 響應原理
組件化data的數據一旦變化,立刻觸發視圖的更新
1.核心 API-Object,defineProperty用法
缺點
1.深度監聽,需要遞歸到底 ,計算量大
2.無法監聽新增屬性/刪除屬性
虛擬DOM(virtual DOM) 和 diff
1.vdom是實現vue 和React的重要基石(vue React是數據驅動試圖)
vdom可以把計算轉移爲js計算
vdom 用js模擬dom結構
snabbdom
是一個簡易的實現vdom
功能的庫,vdom
裏面有兩個核心的API,一個是h函數,一個是patch
函數。前者是用來生成vdom
對象(vue
中使用render
函數,將真實的節點轉換成vnode
),後者是用做vdom
之間的對比以及將vdom
掛載到真實的dom
上。vue
就是因爲其使用了snabbdom
而有更優異的性能。
2.diff算法是vdom中最核心的
diff算法過程
比較原理:
1.只比較同一級別,不跨級比較
2.兩者相同時,則認爲是相同節點 ,不會深度比較
具體詳情:https://www.cnblogs.com/wind-lanyan/p/9061684.html