Vue生命周期 Vue的雙向數(shù)據(jù)綁定原理是什么

vue生命周期共分為八個(gè)階段:創(chuàng)建前/后叉抡,載入前/后,更新前/后答毫,銷毀前/后褥民。

beforeCreate(創(chuàng)建前)vue實(shí)例的掛載元素$el和數(shù)據(jù)對(duì)象data都是undefined,還未初始化(創(chuàng)建了掛載元素跟數(shù)據(jù)對(duì)象還未初始化)

created(創(chuàng)建后)完成了data數(shù)據(jù)初始化洗搂,el還未初始化(數(shù)據(jù)初始化消返,掛載元素還未初始化)

beforeMount(載入前)vue實(shí)例的$el和data都初始化了,已經(jīng)生成了html耘拇,此時(shí)還沒(méi)有掛載到頁(yè)面上撵颊。(掛數(shù)據(jù)初始化完后并且生成了html,但是還沒(méi)有掛在到頁(yè)面)

mounted(載入后)在el新被創(chuàng)建的vm.$el替換惫叛,并掛載到實(shí)例上去之后調(diào)用倡勇。實(shí)例已經(jīng)完成了以下的配置:用上面編譯好的html內(nèi)容替換el屬性指向dom元素。完成模板中html渲染到html頁(yè)面中嘉涌,此過(guò)程中進(jìn)行ajax交互妻熊。(用編譯完后的html內(nèi)容替換el屬性,進(jìn)行ajax的交互仑最,進(jìn)行頁(yè)面的渲染)

beforeUpdate(更新前)在數(shù)據(jù)更新之前調(diào)用扔役,發(fā)生在虛擬dom重新渲染和打補(bǔ)丁之前調(diào)用【剑可以再鉤子中進(jìn)一步地更新?tīng)顟B(tài)亿胸,不會(huì)觸發(fā)附加的重渲染過(guò)程(進(jìn)一步的更新?tīng)顟B(tài),不會(huì)觸發(fā)重渲染)

Update(更新后)由于數(shù)據(jù)更改導(dǎo)致的虛擬dom重新渲染和打補(bǔ)丁之后調(diào)用。調(diào)用時(shí)损敷,組件dom已經(jīng)更新葫笼,所以可以執(zhí)行依賴于dom的操作。然而在大多數(shù)情況下拗馒,應(yīng)該避免在此期間更改狀態(tài)路星,因?yàn)檫@可能會(huì)導(dǎo)致更新無(wú)限循環(huán)。該鉤子在服務(wù)器端渲染期間不被調(diào)用诱桂。(由于數(shù)據(jù)的更改導(dǎo)致需要重新調(diào)用洋丐,因?yàn)檎{(diào)用時(shí)dom已經(jīng)進(jìn)行更新,所有要執(zhí)行依賴于dom的操作挥等,但是大多情況下應(yīng)該避免此時(shí)更新?tīng)顟B(tài)友绝。因?yàn)榭赡軙?huì)導(dǎo)致更新的無(wú)限循環(huán))

beforeDestroy(銷毀前)在實(shí)例銷毀之前調(diào)用。實(shí)例仍然完全可用

dastory(銷毀后)在實(shí)例銷毀之后調(diào)用肝劲。調(diào)用后迁客,所有的事件監(jiān)聽(tīng)器會(huì)被移除,所有的子實(shí)例也會(huì)被銷毀辞槐。該鉤子在服務(wù)器端渲期間不被調(diào)用掷漱。(在實(shí)例銷毀之前調(diào)用,并且所有的事件監(jiān)聽(tīng)器都被移除子實(shí)例全部銷毀榄檬。)

vue生命周期鉤子:

生命周期鉤子是在Vue對(duì)象生命周期的某個(gè)階段執(zhí)行的已定義方法卜范。

第一次頁(yè)面加載會(huì)觸發(fā)哪幾個(gè)鉤子?

會(huì)觸發(fā) 下面這幾個(gè)beforeCreate, created, beforeMount, mounted 鹿榜。(創(chuàng)建前/后海雪,載入前/后)

vue生命周期的作用是什么?

它的生命周期中有多個(gè)事件鉤子舱殿,讓我們?cè)诳刂普麄€(gè)Vue實(shí)例的過(guò)程時(shí)更容易形成好的邏輯奥裸。(讓我們可以在控制整個(gè)Vue實(shí)例的過(guò)程中更容易形成好的邏輯)

什么是vue生命周期?

?Vue 實(shí)例從創(chuàng)建到銷毀的過(guò)程怀薛,就是生命周期刺彩。從開(kāi)始創(chuàng)建、初始化數(shù)據(jù)枝恋、編譯模板创倔、掛載Dom→渲染、更新→渲染焚碌、銷毀等一系列過(guò)程畦攘,稱之為 Vue 的生命周期。

vue雙向綁定數(shù)據(jù)的原理:

vue.js是采用數(shù)據(jù)劫持結(jié)合發(fā)布者-訂閱者模式的方式十电,通過(guò)Object.defineProperty()來(lái)劫持各個(gè)屬性的setter知押,getter叹螟,在數(shù)據(jù)變動(dòng)時(shí)發(fā)布消息給訂閱者,觸發(fā)相應(yīng)的監(jiān)聽(tīng)回調(diào)台盯。

vue實(shí)現(xiàn)數(shù)據(jù)雙向綁定的原理就是用object. defineproperty ()重新定義罢绽,(set方法)對(duì)象設(shè)置屬性值和(get方法)獲取屬性值的操縱來(lái)實(shí)現(xiàn)的。(用defineproperty()重新定義静盅、(set方法)對(duì)象設(shè)置屬性值和(get方法)獲取屬性值的操縱來(lái)實(shí)現(xiàn)的)

object.defineproperty() 方法解釋:object.definepropert(參數(shù)1良价,參數(shù)2,參數(shù)3)蒿叠,返回值為該對(duì)象的obj

參數(shù)1是obj明垢,參數(shù)2是定義或者修改的對(duì)象的屬性名,參數(shù)3是屬性描述符(分為:屬性描述符跟存取描述符市咽,兩種方法二選一痊银,不能混合使用。get和set屬于存取描述符的對(duì)象屬性)施绎。


創(chuàng)建發(fā)布類和訂閱類溯革,如下:

observer,創(chuàng)建數(shù)據(jù)監(jiān)聽(tīng)粘姜,并為每個(gè)屬性建立一個(gè)發(fā)布類鬓照。

Dep是發(fā)布類,維護(hù)與該屬性相關(guān)的訂閱實(shí)例孤紧,當(dāng)數(shù)據(jù)發(fā)生更新時(shí),會(huì)通知所有的訂閱實(shí)例拒秘。

Watcher是訂閱類号显,注冊(cè)到所有相關(guān)屬性的Dep發(fā)布類中,接受發(fā)布類的數(shù)據(jù)變更通知躺酒,通過(guò)回調(diào)押蚤,實(shí)現(xiàn)視圖的更新

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市羹应,隨后出現(xiàn)的幾起案子揽碘,更是在濱河造成了極大的恐慌,老刑警劉巖园匹,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雳刺,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡裸违,警方通過(guò)查閱死者的電腦和手機(jī)掖桦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)供汛,“玉大人枪汪,你說(shuō)我怎么就攤上這事涌穆。” “怎么了雀久?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵宿稀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我赖捌,道長(zhǎng)原叮,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任巡蘸,我火速辦了婚禮奋隶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悦荒。我一直安慰自己唯欣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布搬味。 她就那樣靜靜地躺著境氢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碰纬。 梳的紋絲不亂的頭發(fā)上萍聊,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音悦析,去河邊找鬼寿桨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛强戴,可吹牛的內(nèi)容都是我干的亭螟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼骑歹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼预烙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起道媚,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扁掸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后最域,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體谴分,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年羡宙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狸剃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狗热,死狀恐怖钞馁,靈堂內(nèi)的尸體忽然破棺而出虑省,到底是詐尸還是另有隱情,我是刑警寧澤僧凰,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布探颈,位于F島的核電站,受9級(jí)特大地震影響训措,放射性物質(zhì)發(fā)生泄漏伪节。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一绩鸣、第九天 我趴在偏房一處隱蔽的房頂上張望怀大。 院中可真熱鬧,春花似錦呀闻、人聲如沸化借。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蓖康。三九已至,卻和暖如春垒手,著一層夾襖步出監(jiān)牢的瞬間蒜焊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工科贬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泳梆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓唆迁,卻偏偏與公主長(zhǎng)得像鸭丛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唐责,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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