把模板編譯為render函式
例項進行掛載, 根據根節點render函式的呼叫,遞迴的生成虛擬dom
對比虛擬dom,渲染到真實dom
元件內部data發生變化,元件和子元件引用data作為props重新呼叫render函式,生成虛擬dom, 返回到步驟3
第一步:模板變成render函式
hello word
main.js
import vue from 'vue'
new vue({
我們引入元件的後,其實會有乙個解析器(vue-loader)對此模板進行了解析,生成了render函式。當然,如果沒有通過解析器解析為render函式,也沒有關係,在元件第一次掛載的時候,vue會自己進行解析。
二、掛載過程
new vue({
每個虛擬節點(vnode)中都有乙個屬性elm
,指向乙個真實dom節點 (真實dom往後就是正常的渲染過程不包含js
)
三、更新過程
當內部的data
發生改變時,生成最新的vnode,通過diff演算法對比,將有差異的地方補到真實dom上
二 Vue 頁面渲染過程
上篇博文我們依葫蘆畫瓢已經將hello world 展現在介面上啦,但是是不是感覺新虛虛的,總覺得這麼多檔案,專案怎麼就啟動起來了呢?怎麼訪問到8080 埠就能進入到我們的首頁呢。整個的流程是怎麼樣的呢?我也是剛剛接觸,所以就會有這樣的困惑,所以這篇就簡單的理解一下專案頁面渲染的過程。我們上篇文章說...
vue渲染過程解析 VDOM DOM
前言 大家知道乙個複雜的頁面會包含大量的dom節點,為了高效地更新這些dom節點,vue設計了虛擬dom的概念。虛擬dom是對真實dom節點資訊的描述。在vue中,每乙個dom節點都會有乙個虛擬dom節點與之對應。這個虛擬dom節點,我們也稱之為vnode,而由vnode所組成的整個vnode樹就是...
Vue 的首次渲染的過程
vue版本 2.6.10 首先進行vue的初始化,初始化vue的例項成員和靜態成員 呼叫建構函式中的 init 方法,作為整個vue的入口 在 init 中呼叫 mount 方法 呼叫mountcomponent src core instance lifecycle.js中定義 判斷render選...