1. 程式人生 > 實用技巧 >Vue模板轉換成檢視的過程

Vue模板轉換成檢視的過程

Vue模板轉換成檢視的過程

1.vue.js通過編譯將templete模板轉換成渲染函式(render),執行渲染函式就可以得到一個虛擬節點樹。
2.在對Model進行操作的時候,會觸發對應Dep中的Watcher物件。Watcher物件會呼叫對應的update來修改檢視,這個過程主要是將新舊虛擬節點進行差異對比,然後根據對比結果進行DOM操作來更新檢視。簡單來說,在Vue的底層實現上,Vue將模板編譯成虛擬Dom渲染函式。結合Vue自帶的響應系統,在狀態改變時,Vue能夠智慧的計算出重新渲染元件的最小代價並應用到DOM操作上。
在這裡插入圖片描述渲染函式:渲染函式是用來生成Virtual Dom的,Vue推薦使用模板來構建我們的應用介面,在底層實現中Vue會將模板編譯成渲染函式。當然我們也可以不寫模板,直接寫渲染函式,以獲得更好的控制。

VNode虛擬節點:它可以代表一個真實的dom節點。通過createElement 方法能將VNode渲染成dom節點。簡單的說,vnode可以理解成節點描述物件,它描述了應該怎樣去建立真實的DOM節點。
patch(也叫做patching演算法):虛擬DOM最核心的部分,它可以將vnode渲染成真實的DOM,這個過程是對比新舊虛擬節點之間有哪些不同,然後根據對比結果找出需要更新的節點進行更新。其實際作用是在現有DOM上進行修改來實現更新檢視的目的。