vue組件生命周期

vue組件的生命周期

組件生命周期的三個階段

詳細解讀vue組件從創(chuàng)建到運行到銷毀的過程


聲明周期的三個階段

BeforeCreate(創(chuàng)建前)

該函數(shù)執(zhí)行在組件創(chuàng)建戚嗅、數(shù)據(jù)觀測 (data observer) 和 event/watcher 事件配置之前够颠,實例初始化之后被調(diào)用略荡。數(shù)據(jù)還沒有初始化

在該階段組件未創(chuàng)建无午,不能訪問數(shù)據(jù),組件中的 data旅掂,ref 均為 undefined悲龟。

Created(創(chuàng)建后)

在組件創(chuàng)建完成后立即調(diào)用
在這一步 實例已經(jīng)完成了數(shù)據(jù)觀測 屬性和方法的運算 watch、event事件回調(diào)
但是還沒有渲染成html模板 組件中的data已經(jīng)存在 可以進行操作了 但是el仍然是undefiend 因為掛載階段還沒有開始又固,$el屬性尚不可用

數(shù)據(jù)已經(jīng)完成了初始化 dom結(jié)構(gòu)未生成

經(jīng)常在它里面 調(diào)用methods中的方法 請求服務器中的數(shù)據(jù) 并且把請求到的數(shù)據(jù) 轉(zhuǎn)存到data中 供template模板渲染使用

BeforeMount(掛載前)

該函數(shù)在掛載之前被調(diào)用仲器,該階段頁面上還沒有渲染,data已經(jīng)初始化完成 ref還不可以操作 render函數(shù)首次被調(diào)用
可以訪問數(shù)據(jù) 編譯模板結(jié)束 虛擬dom已經(jīng)存在

Mounted(掛載后)

該函數(shù)是在組件掛載完成之后執(zhí)行的 這時候el被$el替換仰冠,已經(jīng)可以操作ref了
一般在這個階段請求數(shù)據(jù) filter過濾器也是在這個階段生效
服務器渲染期間不被調(diào)用

如果要操作當前組件的dom 最早 只能在mounted階段執(zhí)行

BeforeUpdate(更新前)

在數(shù)據(jù)更新時調(diào)用乏冀,在虛擬dom更新前,在特殊情況下洋只,可以講更新前的數(shù)據(jù)存起來辆沦,放到之后使用
這里適合在更新前訪問現(xiàn)有的dom比如移除事件監(jiān)聽器
該鉤子只有初次渲染會在服務端進行

data中的數(shù)據(jù)是最新的,且頁面并未和最新的數(shù)據(jù)同步木张。

Updated(更新后)

由于數(shù)據(jù)更改導致的虛擬 DOM 重新渲染和打補丁众辨,在這之后會調(diào)用該鉤子。當這個鉤子被調(diào)用時舷礼,組件 DOM 已經(jīng)更新鹃彻,所以你現(xiàn)在可以執(zhí)行依賴于 DOM 的操作。

頁面也完成了更新妻献,此時蛛株,data數(shù)據(jù)是最新的团赁,同時,頁面上呈現(xiàn)的數(shù)據(jù)也只最新的谨履。

當數(shù)據(jù)變化后 為了能夠操作到最新的dom結(jié)構(gòu) 必須把代碼寫到updated生命周期

BeforeDestroy(銷毀前)

在實例銷毀之前調(diào)用欢摄,這里依然可以操作,可以在這里清除定時器 防止內(nèi)存泄漏

當執(zhí)行該生命周期函數(shù)的時候笋粟,實例身上所有的data怀挠,所有的methods以及過濾器…等都處于可用狀態(tài),并沒有真正執(zhí)行銷毀

Destroyed(銷毀后)

在銷毀后調(diào)用 所有子實例被銷毀 所有的事件監(jiān)聽器會被移除
在服務器渲染期間不被調(diào)用

此時組件以及被完全銷毀害捕,實例中的所有的數(shù)據(jù)绿淋、方法、屬性尝盼、過濾器…等都已經(jīng)不可用了

Activated (激活時)

和上面的beforeDestroy和destroyed用法差不多吞滞,但是如果我們需要一個實例,在銷毀后再次出現(xiàn)的話盾沫,用 beforeDestroy和destroyed的話裁赠,就太浪費性能了。實例被激活時使用赴精,用于重復激活一個實例的時候

被 keep-alive 緩存的組件激活時調(diào)用佩捞。

該鉤子在服務器端渲染期間不被調(diào)用。

Deactivated(停用時)

實例沒有被激活時祖娘。

被 keep-alive 緩存的組件停用時調(diào)用失尖。

該鉤子在服務器端渲染期間不被調(diào)用啊奄。

ErrorCaptured (錯誤調(diào)用時)

當捕獲一個來自子孫組件的錯誤時被調(diào)用渐苏。此鉤子會收到三個參數(shù):錯誤對象、發(fā)生錯誤的組件實例以及一個包含錯誤來源信息的字符串菇夸。此鉤子可以返回 false 以阻止該錯誤繼續(xù)向上傳播琼富。

鉤子函數(shù)的執(zhí)行流程

鉤子函數(shù)的時間點
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市庄新,隨后出現(xiàn)的幾起案子鞠眉,更是在濱河造成了極大的恐慌,老刑警劉巖择诈,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件械蹋,死亡現(xiàn)場離奇詭異,居然都是意外死亡羞芍,警方通過查閱死者的電腦和手機哗戈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荷科,“玉大人唯咬,你說我怎么就攤上這事纱注。” “怎么了胆胰?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵狞贱,是天一觀的道長。 經(jīng)常有香客問我蜀涨,道長瞎嬉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任厚柳,我火速辦了婚禮佑颇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘草娜。我一直安慰自己挑胸,他們只是感情好,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布宰闰。 她就那樣靜靜地躺著茬贵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪移袍。 梳的紋絲不亂的頭發(fā)上解藻,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音葡盗,去河邊找鬼螟左。 笑死,一個胖子當著我的面吹牛觅够,可吹牛的內(nèi)容都是我干的胶背。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼喘先,長吁一口氣:“原來是場噩夢啊……” “哼钳吟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起窘拯,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤红且,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后涤姊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暇番,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年思喊,在試婚紗的時候發(fā)現(xiàn)自己被綠了壁酬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖厨喂,靈堂內(nèi)的尸體忽然破棺而出和措,到底是詐尸還是另有隱情,我是刑警寧澤蜕煌,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布派阱,位于F島的核電站,受9級特大地震影響斜纪,放射性物質(zhì)發(fā)生泄漏贫母。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一盒刚、第九天 我趴在偏房一處隱蔽的房頂上張望腺劣。 院中可真熱鬧,春花似錦因块、人聲如沸橘原。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽趾断。三九已至,卻和暖如春吩愧,著一層夾襖步出監(jiān)牢的瞬間芋酌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工雁佳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留脐帝,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓糖权,卻偏偏與公主長得像堵腹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子温兼,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

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