成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于一些Vue的文章。(5)

13651657101 / 764人閱讀

摘要:這種情況稱文檔碎片不過(guò)它已經(jīng)有了屬性。于是,第一個(gè)問題解決,真實(shí)之后,掛載到節(jié)點(diǎn)樹上。關(guān)于第一種寫法實(shí)際是的別名,也是一個(gè)通用慣例。

原文鏈接我的blog,歡迎STAR。

前三篇里,我們開始從render, template, el的渲染DOM樹的優(yōu)先級(jí),最終都編譯成render函數(shù),而后得到vnode(虛擬DOM),經(jīng)過(guò)diff算法后,得到真實(shí)DOM。

那么問題來(lái)了?得到真實(shí)DOM以后接下來(lái)該做什么?以及怎么做?

照例,分享一篇文章,vue。(官網(wǎng),暫時(shí)還沒有找到一篇文章能比較好的解決上述幾個(gè)問題,so,我們帶著問題出發(fā),直接上官網(wǎng),然后上源碼。)

我們先解決第一個(gè)問題,得到真實(shí)DOM以后,接下來(lái)該做什么?

相信各位同學(xué)對(duì)原生的創(chuàng)建元素節(jié)點(diǎn)對(duì)象,一定不陌生:

const odiv = document.createElement("div"), 此時(shí)雖然已經(jīng)新創(chuàng)建一個(gè)元素節(jié)點(diǎn),但它還不是任何一顆DOM節(jié)點(diǎn)樹的組成部分,它只是游蕩在JavaScript世界里的一個(gè)孤兒。這種情況稱文檔碎片(document fragment),不過(guò)它已經(jīng)有了DOM屬性。接下來(lái),我們需要把新創(chuàng)建的元素節(jié)點(diǎn)插入DOM節(jié)點(diǎn)樹,parent.appendChild(odiv)

由此,我們猜想,是不是也要像上述中parent.appendChild(odiv)一樣,插入到DOM節(jié)點(diǎn)樹上?

官網(wǎng)里,有一個(gè)重要的信息:

是的,在Vue里,也需要插入到DOM節(jié)點(diǎn)樹上,并且有一個(gè)名字掛載

于是,第一個(gè)問題解決,真實(shí)DOM之后,掛載到DOM節(jié)點(diǎn)樹上。

現(xiàn)在來(lái)解決第二個(gè)問題,該怎么掛載到DOM節(jié)點(diǎn)樹上?

存在兩種種方式(一般是在main.js文件中可以看到):

第一種不存在el選項(xiàng)。

第二種存在el選項(xiàng)。

這有兩個(gè)值得注意的地方:

細(xì)心的同學(xué),應(yīng)該已經(jīng)發(fā)現(xiàn)上面兩種方法并不只是是否存在el選項(xiàng)的差別,在第一個(gè)方法里,使用的是render: h => h(App), 而第二種使用的是...App。

關(guān)于第一種寫法render: h => h(App),h實(shí)際是createElement的別名,也是一個(gè)通用慣例。至于=>這個(gè)是es6里面的箭頭函數(shù)寫法,所以換一種寫法也就是(不涉及this):

    render: function (createElement) {
        return createElement(App)
    }

App組件最終也會(huì)編譯成render函數(shù),從而有vnode。

貼一張官網(wǎng)的圖:

或者使用jsx時(shí)這樣更容易:

- 第二種寫法`...App`,這個(gè)其實(shí)也比較容易理解,`...`是es6擴(kuò)展運(yùn)算符,關(guān)于擴(kuò)展運(yùn)算符不做深入,具體的學(xué)習(xí),可以參照阮老師寫的[教程](http://es6.ruanyifeng.com/#docs/object)。在這里`...App`的意思是:取出`App`實(shí)例對(duì)象的所有可枚舉屬性,混入全局配置。

或許你還有點(diǎn)疑問,這里既沒有`render`又沒有`template`,如果用掛載DOM元素的HTML用作模板,那必須使用獨(dú)立構(gòu)建的Vue庫(kù)。怎么編譯的?別急,我們來(lái)看App實(shí)例對(duì)象里有些什么可枚舉屬性:

![打印出一個(gè)新對(duì)象,對(duì)象的屬性包含App對(duì)象中可枚舉的屬性](https://dn-mhke0kuv.qbox.me/1f4d04a9ef7c01e05904.png)
![得到結(jié)果](https://dn-mhke0kuv.qbox.me/744211eb0a867ff52b63.png)
其中有個(gè)`render`方法,于是`render`混入到了`new Vue({})`的配置中。

另一個(gè)值得注意的地方是:

也就是說(shuō),如果el選項(xiàng)在實(shí)例化時(shí),沒有作用,且沒有顯示調(diào)用vm.$mount()手動(dòng)開啟編譯時(shí),是不會(huì)編譯成render函數(shù)的,從而不會(huì)存在vnode

編譯成render函數(shù),有真實(shí)DOM以后,插入通過(guò)el選項(xiàng),或者顯示調(diào)用vm.$mount()手動(dòng)設(shè)置一個(gè)掛載點(diǎn),掛載到DOM上。

第二個(gè)問題解決。

下一篇,我們深入源碼,看看這個(gè)elvm.$mount()在搞什么事。

完。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/82354.html

相關(guān)文章

  • 關(guān)于Vue2一些值得推薦文章 -- 五、六月份

    摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...

    sutaking 評(píng)論0 收藏0
  • 關(guān)于Vue2一些值得推薦文章 -- 五、六月份

    摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...

    khs1994 評(píng)論0 收藏0
  • 前端經(jīng)典文章

    摘要:上周末看這篇文章時(shí),偶有靈光,所以,分享出來(lái)給大家一起看看前端面試四月二十家前端面試題分享請(qǐng)各位讀者添加一下作者的微信公眾號(hào),以后有新的文章,將在微信公眾號(hào)直接推送給各位,非常感謝。 前端切圖神器 avocode 有了這個(gè)神器,切圖再也腰不酸,腿不疼了。 這一次,徹底弄懂 JavaScript 執(zhí)行機(jī)制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機(jī)制,如果讀完本文還不懂,...

    lowett 評(píng)論0 收藏0
  • 雜篇 - Vue豆瓣系列文章

    摘要:起初,項(xiàng)目使用的是,其提供的方法用著比較爽,由于項(xiàng)目的很多數(shù)據(jù)來(lái)自豆瓣的,直接上簡(jiǎn)單方便,跨域什么的不考慮??缬騿栴},上面已經(jīng)介紹,在不能操控的豆瓣數(shù)據(jù)上,使用的是。 項(xiàng)目地址 在線演示 不識(shí)廬山真面目,只緣身在此山中。 大概一個(gè)月前,開源了Vue重構(gòu)豆瓣移動(dòng)端的項(xiàng)目,效果還可以,收到了很多小伙伴的反饋,話說(shuō)是要寫一些文章的,但遲遲沒有動(dòng)筆,估計(jì)小伙伴們等的花都謝了,拖延癥是病,需要治...

    lijinke666 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

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