第九章 render函數(shù)(進(jìn)階篇)

Vue.js 2.x與vue.js 1.x最大的區(qū)別就在于2.x使用了Virtual Dom(虛擬Dom)來更新Dom節(jié)點(diǎn),提升渲染性能娇钱。
雖然前面章節(jié)我們的組件模板都是寫在template選項(xiàng)里的开伏,但是在Vue.js編譯時(shí)煌珊,都會解析為Virtual Dom站故。
本章我們就來探索Vue.js用于實(shí)現(xiàn)Virtual Dom的Render函數(shù)語法区宇,在介紹Render函數(shù)前娃殖,我們先來看看什么是Virtual Dom。


9.1什么是Virtual Dom

React和Vue2都使用了Virtual Dom技術(shù)议谷,Virtual Dom并不是真正意義上的Dom珊随,而是一個(gè)輕量級的JavaScript對象,在狀態(tài)發(fā)生變化時(shí)柿隙,Virtual Dom會進(jìn)行Diff運(yùn)算叶洞,來更新只需要被替換的DOM,而不是全部重繪禀崖。
與DOM操作相比衩辟,Virtual Dom是基于JavaScript計(jì)算的,所以開銷會小很多波附。
正常的DOM節(jié)點(diǎn)在HTML中是這樣的:

<div id="main">
  <p>文本內(nèi)容</p>
  <p>文本內(nèi)容</p>
</div>

用Virtual Dom創(chuàng)建的JavaScript對象一般會是這樣的:

var vNode ={
     tag:'div',
    attributes:{
        id:'main'
    },
    children:{
        //p節(jié)點(diǎn)
    }
}

vNode對象通過一些特定的選項(xiàng)描述了真實(shí)的DOM結(jié)構(gòu)艺晴。
在Vue.js2中,Virtual Dom就是通過一種VNode類表達(dá)的掸屡,每個(gè)DOM元素或組件都對應(yīng)一個(gè)VNode對象.
VNode主要可以分為以下幾類:

  • EmptyVNode
  • ComponentVNode
  • TextVNode
  • ElementVNode
  • CloneVNode
    使用Virtual Dom就可以完全發(fā)揮JavaScript的能力封寞。在多數(shù)場景下,我們使用template就足夠了仅财,但在一些特定的場景下狈究,使用Virtual Dom會更簡單,下節(jié)我們來介紹Vue的Render函數(shù)的用法盏求。

9.2什么是render函數(shù)

Render函數(shù)通過createElement參數(shù)來創(chuàng)建Virtual Dom抖锥,結(jié)構(gòu)精簡,代碼少且清晰碎罚,這里使用了一個(gè)demo實(shí)例來說明磅废,我未對實(shí)例進(jìn)行摘抄,我們只有清楚Render函數(shù)所有神奇的地方都在這個(gè)createElement里就可以了荆烈,我們在下一節(jié)來詳細(xì)介紹它的詳細(xì)配置和用法拯勉。


9.3createElement用法

9.3.1 基本參數(shù)

由于對render函數(shù)的不熟悉與學(xué)習(xí)render函數(shù)的興趣下降,于是憔购,到此先暫時(shí)越過這一章節(jié)宫峦。

本節(jié)略!
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末倦始,一起剝皮案震驚了整個(gè)濱河市斗遏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鞋邑,老刑警劉巖诵次,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件账蓉,死亡現(xiàn)場離奇詭異,居然都是意外死亡逾一,警方通過查閱死者的電腦和手機(jī)铸本,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遵堵,“玉大人箱玷,你說我怎么就攤上這事∧八蓿” “怎么了锡足?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長壳坪。 經(jīng)常有香客問我舶得,道長,這世上最難降的妖魔是什么爽蝴? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任沐批,我火速辦了婚禮,結(jié)果婚禮上蝎亚,老公的妹妹穿的比我還像新娘九孩。我一直安慰自己,他們只是感情好发框,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布躺彬。 她就那樣靜靜地躺著,像睡著了一般缤底。 火紅的嫁衣襯著肌膚如雪顾患。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天个唧,我揣著相機(jī)與錄音,去河邊找鬼设预。 笑死徙歼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鳖枕。 我是一名探鬼主播魄梯,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宾符!你這毒婦竟也來了酿秸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤魏烫,失蹤者是張志新(化名)和其女友劉穎辣苏,沒想到半個(gè)月后肝箱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稀蟋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年煌张,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片退客。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡骏融,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萌狂,到底是詐尸還是另有隱情档玻,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布茫藏,位于F島的核電站窃肠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏刷允。R本人自食惡果不足惜冤留,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望树灶。 院中可真熱鬧纤怒,春花似錦、人聲如沸天通。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽像寒。三九已至烘豹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诺祸,已是汗流浹背携悯。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留筷笨,地道東北人憔鬼。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像胃夏,于是被迫代替她去往敵國和親轴或。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容仰禀,還有我對于 Vue 1.0 印象不深的內(nèi)容照雁。關(guān)于...
    云之外閱讀 5,050評論 0 29
  • 300頁 15天零碎時(shí)間看完 每天將近20頁 袁世凱不是本身就有尿毒癥,是當(dāng)時(shí)中國內(nèi)外交困答恶,他壓力有很大饺蚊,患病的...
    89089答復(fù)閱讀 1,371評論 1 1
  • 我無法想象萍诱,我用12年的時(shí)間來學(xué)習(xí),卻仍然做不好它卸勺。 距高考不到兩個(gè)月的時(shí)間砂沛,在這之前,我是很有信心...
    巧栗與喵閱讀 208評論 0 0
  • 如果不行,就選擇安逸的奮斗悟狱,不用穿插于城市和塵土之間静浴。待在一個(gè)地方,為理想打拼挤渐。 而立之年未到苹享,久經(jīng)寒邪,不可多走...
    看不盡繁華閱讀 178評論 0 0
  • 之前也看過加勒比海盜的前面的系列浴麻,網(wǎng)上或者去電影院都有看過得问,但是只是記得畫眼線的杰克船長,以及頭上長蟲子像八爪魚的...
    燕Annie閱讀 363評論 0 0