Vue 實例掛載

Vue 實例掛載!

屏幕快照 2021-06-17 下午2.24.59.png

1.png

這段代碼首先緩存了原型上的 $mount 方法,再重新定義該方法。


2.png

3.png

4.png
5.png

mount 方法支持傳入 2 個參數(shù),第一個是 el,它表示掛載的元素,可以是字符串,也可以是 DOM 對象,如果是字符串在瀏覽器環(huán)境下會調(diào)用 query 方法轉(zhuǎn)換成 DOM 對象的。第二個參數(shù)是和服務(wù)端渲染相關(guān),在瀏覽器環(huán)境下我們不需要傳第二個參數(shù),mount 方法實際上會去調(diào)用 mountComponent 方法。

6.png

7.png

。
從上面的代碼可以看到,mountComponent 核心就是先實例化一個渲染W(wǎng)atcher,在它的回調(diào)函數(shù)中會調(diào)用 updateComponent 方法,在此方法中調(diào)用 vm._render 方法先生成虛擬 Node,最終調(diào)用 vm._update 更新 DOM。
Watcher 在這里起到兩個作用,一個是初始化的時候會執(zhí)行回調(diào)函數(shù),另一個是當 vm 實例中的監(jiān)測的數(shù)據(jù)發(fā)生變化的時候執(zhí)行回調(diào)函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容