国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【Vue原理】Component - 白話版

liuyix / 683人閱讀

摘要:寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注源碼分享,文章分為白話版和源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于版本如果你覺得排版難看,請點(diǎn)擊下面鏈接或者拉到下面關(guān)注公眾號也可以吧原理白話版從模板上使用到掛載到頁面

寫文章不容易,點(diǎn)個(gè)贊唄兄弟
專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧
研究基于 Vue版本 【2.5.17】

如果你覺得排版難看,請點(diǎn)擊 下面鏈接 或者 拉到 下面關(guān)注公眾號也可以吧

【Vue原理】Component - 白話版

component 從模板上使用到掛載到頁面上,到底經(jīng)歷了一個(gè)怎么樣的流程??里面到底摻雜了什么神奇的東西,母豬為何半夜慘叫,這一切的背后,究竟是....

component 從模板上使用到掛載到頁面上,到底經(jīng)歷了一個(gè)怎么樣的流程??里面到底摻雜了什么神奇的東西,母豬為何半夜慘叫,這一切的背后,究竟是....

好吧,馬上進(jìn)入主題,component 掛載流程

好了,既然說的是 component,那么其他的無關(guān)步驟自然是要略過的

總的說起來,component 創(chuàng)建流程,就兩個(gè)步驟

1、創(chuàng)建 component 外殼VNode
2、掛載 component dom

我們一步一步來說

創(chuàng)建組件vnode

“這里說的組件vnode,是外殼vnode,不懂下面會(huì)說”

現(xiàn)在有一個(gè)頁面A 使用是了 test 組件

然后頁面被解析成了一個(gè)渲染函數(shù)

現(xiàn)在要開始執(zhí)行頁面A渲染函數(shù),這個(gè)渲染函數(shù)執(zhí)行得到 【模板對應(yīng)的 VNode】

其中 _c 的作用就是,根據(jù)傳入的參數(shù),構(gòu)造相應(yīng)的 VNode

執(zhí)行到 _c("test"),需要構(gòu)建一個(gè)標(biāo)簽為 test 的 vnode,但是發(fā)現(xiàn),誒?test 不是一個(gè)正常的 html 標(biāo)簽啊

于是送去非正常標(biāo)簽研究院進(jìn)行研究 ,哈哈,就是去做一些特殊處理

做的是什么呢?

1、構(gòu)建組件的構(gòu)造函數(shù),處理父組件給子組件綁定的數(shù)據(jù),比如 props,事件,slot 等等

2、創(chuàng)建組件外殼VNode,就是下面這個(gè)

相信大家應(yīng)該清楚什么是外殼節(jié)點(diǎn)了,細(xì)節(jié)可以跳到下文相關(guān)內(nèi)容看

VNode - 源碼版

外殼節(jié)點(diǎn),就是用來保存 父組件和子組件 進(jìn)行PY交易重要場所

就是為了保存了上一步處理得到的 組件構(gòu)造函數(shù),props,事件,slot 等

來打印看下

只有 tag 判斷屬于組件之后,才會(huì)進(jìn)行這一步。現(xiàn)在這一步就結(jié)束了,到下一步掛載

掛載組件dom

當(dāng)頁面A渲染函數(shù)執(zhí)行完畢,得到了一棵模板對應(yīng)的VNode 樹

那么下一步就是 根據(jù)VNode 創(chuàng)建DOM,然后進(jìn)行掛載了喂

此時(shí)!

Vue 需要遞歸遍歷 頁面的 VNode 樹,進(jìn)行生成對應(yīng)的DOM

然后!

每遍歷到一個(gè)標(biāo)簽都要判斷一次,這個(gè)標(biāo)簽是否是組件啊巴拉巴拉的

直到碰到了 test 這個(gè)比,你不是組件嗎,繼續(xù)送去研究所研究

做了什么研究?

1、拿到 test 外殼節(jié)點(diǎn)保存的構(gòu)造函數(shù)

2、new 構(gòu)造函數(shù)() 執(zhí)行,得到新建的組件實(shí)例,完成實(shí)例初始化

3、根據(jù)上一步生成的實(shí)例,調(diào)用掛載函數(shù),解析組件內(nèi)部模板,然后生成DOM,掛載到父頁面A 中

解析內(nèi)部模板,就是處理正常的標(biāo)簽掛載了(排除組件嵌套)

具體流程可以參考下文

從模板到DOM的簡要流程

好的,到此,component 構(gòu)建的流程完美結(jié)束了

總結(jié)

組件的掛載是和頁面掛載過程息息相關(guān)的,就只有兩個(gè)步驟

1、頁面解析模板得到 VNode 時(shí):創(chuàng)建組件構(gòu)造函數(shù) + 生成外殼節(jié)點(diǎn)保存 父子關(guān)聯(lián)的數(shù)據(jù)

2、頁面開始掛載 DOM 時(shí):新建建組件實(shí)例,解析組件內(nèi)部模板,生成DOM掛載到父頁面

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/105402.html

相關(guān)文章

  • Vue原理】Event - 源碼 之 綁定組件自定義事件

    摘要:寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注源碼分享,文章分為白話版和源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于版本如果你覺得排版難看,請點(diǎn)擊下面鏈接或者拉到下面關(guān)注公眾號也可以吧原理源碼版之綁定組件自定義事件組件 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于...

    amuqiao 評論0 收藏0
  • Vue原理Component - 源碼 之 創(chuàng)建組件VNode

    摘要:寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注源碼分享,文章分為白話版和源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于版本如果你覺得排版難看,請點(diǎn)擊下面鏈接或者拉到下面關(guān)注公眾號也可以吧原理源碼版之創(chuàng)建組件今天就要開啟我 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于...

    hover_lew 評論0 收藏0
  • Vue原理Component - 源碼 之 掛載組件DOM

    摘要:寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注源碼分享,文章分為白話版和源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于版本如果你覺得排版難看,請點(diǎn)擊下面鏈接或者拉到下面關(guān)注公眾號也可以吧原理源碼版之掛載組件由這篇文章從模 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于...

    lbool 評論0 收藏0
  • Vue原理】NextTick - 源碼 之 服務(wù)Vue

    寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【2.5.17】 如果你覺得排版難看,請點(diǎn)擊 下面鏈接 或者 拉到 下面關(guān)注公眾號也可以吧 【Vue原理】NextTick - 源碼版 之 服務(wù)Vue 初次看的兄弟可以先看 【Vue原理】NextTick - 白話版 簡單了解下...

    Acceml 評論0 收藏0
  • Vue原理】Mixins - 源碼

    寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【2.5.17】 如果你覺得排版難看,請點(diǎn)擊 下面鏈接 或者 拉到 下面關(guān)注公眾號也可以吧 【Vue原理】Mixins - 源碼版 今天探索的是 mixins 的源碼,mixins 根據(jù)不同的選項(xiàng)類型會(huì)做不同的處理 篇幅會(huì)有些長,...

    gotham 評論0 收藏0

發(fā)表評論

0條評論

liuyix

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<