Vue生命周期

  • 什么是生命周期方法?
    生命周期鉤子=生命周期函數(shù)=生命周期事件

  • Vue生命周期方法分類

?創(chuàng)建期間的生命周期方法:
?1) beforeCreate階段:vue實例的掛載元素el和數(shù)據(jù)對象data都為undefined按厘,還未初始化欲诺。
?說明:在當前階段data插佛、methods、computed以及watch上的數(shù)據(jù)和方法都不能被訪問懦底。
?2) created階段:vue實例的數(shù)據(jù)對象data有了,el還沒有往史。
?說明:可以做一些初始數(shù)據(jù)的獲取花枫,在當前階段無法與Dom進行交互,如果非要想尚困,可以通過vm.$nextTick來訪問Dom蠢箩。

?載入期間的生命周期方法:
?1)beforeMount階段: vue實例的el和data都初始化了,但掛載之前為虛擬的dom節(jié)點事甜。
?說明:當前階段虛擬Dom已經(jīng)創(chuàng)建完成谬泌,即將開始渲染。在此時也可以對數(shù)據(jù)進行更改逻谦,不會觸發(fā)updated掌实。
?2)mounted階段:vue實例掛載完成,data.message成功渲染邦马。
?說明:在當前階段贱鼻,真實的Dom掛載完畢宴卖,數(shù)據(jù)完成雙向綁定,可以訪問到Dom節(jié)點邻悬,使用$refs屬性對Dom進行操作症昏。

?更新期間的生命周期方法:
?1)beforeUpdate階段:響應式數(shù)據(jù)更新時調(diào)用,發(fā)生在虛擬DOM打補丁之前父丰,適合在更新之前訪問現(xiàn)有的DOM肝谭,比如手動移除已添加的事件監(jiān)聽器。
?說明:可以在當前階段進行更改數(shù)據(jù)础米,不會造成重渲染分苇。
?2) updated階段:虛擬DOM重新渲染和打補丁之后調(diào)用,組成新的DOM已經(jīng)更新屁桑,避免在這個鉤子函數(shù)中操作數(shù)據(jù)医寿,防止死循環(huán)。
?說明:當前階段組件Dom已完成更新蘑斧。要注意的是避免在此期間更改數(shù)據(jù)靖秩,因為這可能會導致無限循環(huán)的更新。

?銷毀期間的生命周期方法:
?1)beforeDestroy階段:實例銷毀前調(diào)用竖瘾,實例還可以用沟突,this能獲取到實例,常用于銷毀定時器捕传,解綁事件惠拭。
?說明:在當前階段實例完全可以被使用,我們可以在這時進行善后收尾工作庸论,比如清除計時器职辅。
?2) destroyed階段:實例銷毀后調(diào)用,調(diào)用后所有事件監(jiān)聽器會被移除聂示,所有的子實例都會被銷毀域携。
?說明:當前階段組件已被拆解,數(shù)據(jù)綁定被卸除鱼喉,監(jiān)聽被移出秀鞭,子實例也統(tǒng)統(tǒng)被銷毀。


Vue生命周期

補充:
第一次頁面加載時會觸發(fā):beforeCreate, created, beforeMount, mounted扛禽。
1)created 實例已經(jīng)創(chuàng)建完成锋边,因為它是最早觸發(fā)的原因可以進行一些數(shù)據(jù),資源的請求编曼。(服務器渲染支持created方法)
2)mounted實例已經(jīng)掛載完成宠默,可以進行一些DOM操作。(接口請求)

生命周期鉤子是如何實現(xiàn)的灵巧?

核心答案:
Vue的生命周期鉤子就是回調(diào)函數(shù)而已搀矫,當創(chuàng)建組件實例的過程中會調(diào)用對應的鉤子方法。
補充回答:
內(nèi)部主要是使用callHook方法來調(diào)用對應的方法刻肄。核心是一個發(fā)布訂閱模式瓤球,將鉤子訂閱好(內(nèi)部采用數(shù)組的方式存儲),在對應的階段進行發(fā)布敏弃。

Vue 的父組件和子組件生命周期鉤子執(zhí)行順序?

核心答案:

第一次頁面加載時會觸發(fā) beforeCreate, created, beforeMount, mounted 這幾個鉤子卦羡。

渲染過程:

父組件掛載完成一定是等子組件都掛載完成后,才算是父組件掛載完麦到,所以父組件的mounted在子組件mouted之后

父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted

原文鏈接:http://www.reibang.com/p/3507b078fe03

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绿饵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瓶颠,更是在濱河造成了極大的恐慌拟赊,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粹淋,死亡現(xiàn)場離奇詭異吸祟,居然都是意外死亡,警方通過查閱死者的電腦和手機桃移,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門屋匕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人借杰,你說我怎么就攤上這事过吻。” “怎么了蔗衡?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵纤虽,是天一觀的道長很泊。 經(jīng)常有香客問我母剥,道長瓣距,這世上最難降的妖魔是什么咬扇? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任褐筛,我火速辦了婚禮耸成,結果婚禮上购城,老公的妹妹穿的比我還像新娘宋梧。我一直安慰自己堆生,他們只是感情好专缠,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著淑仆,像睡著了一般涝婉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蔗怠,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天墩弯,我揣著相機與錄音吩跋,去河邊找鬼。 笑死渔工,一個胖子當著我的面吹牛锌钮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播引矩,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼梁丘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了旺韭?” 一聲冷哼從身側響起氛谜,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎区端,沒想到半個月后值漫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡珊燎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年惭嚣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悔政。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡晚吞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谋国,到底是詐尸還是另有隱情槽地,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布芦瘾,位于F島的核電站捌蚊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏近弟。R本人自食惡果不足惜缅糟,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望祷愉。 院中可真熱鬧窗宦,春花似錦、人聲如沸二鳄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽订讼。三九已至髓窜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間欺殿,已是汗流浹背寄纵。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工鳖敷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人程拭。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓哄陶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親哺壶。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349