- Vue裏的虛擬DOM就是渲染函數生成的,
-
Vue在底層實現中,會將模板編譯成渲染函數,當然我們也可以不寫模板,直接寫渲染函數,以獲得更好的控制,
從上圖中,不難發現一個Vue的應用程序是如何運行起來的,模板通過編譯生成AST,再由AST生成Vue的render函數(渲染函數),渲染函數結合數據生成Virtual DOM樹,Diff和Patch後生成新的UI
- 模板:Vue的模板基於純HTML,基於Vue的模板語法,我們可以比較方便地聲明數據和UI的關係。
- AST:AST是Abstract Syntax Tree的簡稱,Vue使用HTML的Parser將HTML模板解析爲AST,並且對AST進行一些優化的標記處理,提取最大的靜態樹,方便Virtual DOM時直接跳過Diff。
- 渲染函數:渲染函數是用來生成Virtual DOM的。Vue推薦使用模板來構建我們的應用界面,在底層實現中Vue會將模板編譯成渲染函數,當然我們也可以不寫模板,直接寫渲染函數,以獲得更好的控制 (這部分是我們今天主要要了解和學習的部分)。
- Virtual DOM:虛擬DOM樹,Vue的Virtual DOM Patching算法是基於Snabbdom的實現,並在些基礎上作了很多的調整和改進。