Vue的11個生命周期

Vue的11個生命周期

?
生命周期圖示.png
  • 什么是生命周期鉤子鹊奖?

    所有的生命周期鉤子自動綁定 this 上下文到實例中,因此你可以訪問數(shù)據(jù)剖效,對屬性和方法進行運算嫉入。這意味著你不能使用箭頭函數(shù)來定義一個生命周期方法 (例如 created: () => this.fetchTodos())焰盗。

    他們在對應(yīng)的階段做對應(yīng)的事璧尸。共分為8個階段,接下來一一介紹:

  • beforeCreate

    1. 當前生命周期是Vue初始化的時候執(zhí)行的鉤子函數(shù)熬拒,此時爷光,data和methods還未將自身屬性和方法代理到Vue的實例上。因此澎粟,在當前生命周期不能訪問data中的屬性和methods中的方法蛀序。

    2. 當前生命周期在執(zhí)行時組件還未創(chuàng)建欢瞪,因此,可以在當前組件中進行l(wèi)oading動畫的顯示徐裸。

  • created創(chuàng)建后*

    1. 當前生命周期函數(shù)是組件在創(chuàng)建后執(zhí)行的遣鼓,因此,可以在當前生命周期中進行前后端數(shù)據(jù)的交互重贺。
    2. 當前生命周期在執(zhí)行的時候骑祟,會將data的屬性進行數(shù)據(jù)劫持,給每一個屬性添加getter和setter方法气笙。
    3. 當前生命周期在執(zhí)行時次企,會將data的屬性和methods的方法代理到Vue的實例中。
  • beforeMount掛載前

    當前生命周期是組件掛載在頁面之前會執(zhí)行的鉤子函數(shù)潜圃,數(shù)據(jù)也初始化完成缸棵,但是數(shù)據(jù)的雙向綁定還是顯示{{}},可以在當前生命周期中對數(shù)據(jù)進行最后的修改谭期。(這是因為Vue采用了Virtual DOM(虛擬Dom)技術(shù)堵第。先占住了一個坑。)

    當前生命周期中的數(shù)據(jù)和模板還未進行結(jié)合隧出,因此型诚,訪問不到真實的DOM結(jié)構(gòu)。

  • mounted掛載后*****

    當前生命周期在組件被掛載到頁面的時候執(zhí)行的函數(shù)鸳劳,數(shù)據(jù)和模板已經(jīng)結(jié)合狰贯,在上一個周期占位的數(shù)據(jù)把值給渲染進去∩屠可以在這邊請求涵紊,不過created請求會更好一些♂C可以通過this.$refs訪問真實的DOM結(jié)構(gòu)摸柄。

    場景:在當前的生命周期函數(shù)中進行的實例化(Swiper BScroll echarts)

    ref語法:

    1. 給需要獲取真實DOM結(jié)構(gòu)的元素添加ref屬性。(名字必須唯一)eg:<p ref="name"></p>
    2. 通過this.$refs.名字進行訪問真實的DOM結(jié)構(gòu)
  • beforeUpdate更新前*

    當前生命周期函數(shù)中既忆,只要是頁面數(shù)據(jù)改變了都會觸發(fā)驱负,但更新的數(shù)據(jù)還未和模板結(jié)合,可以訪問到真實的DOM結(jié)構(gòu)患雇,并且能夠?qū)Ω碌臄?shù)據(jù)的檢測和做最后的更改 跃脊。

  • updated更新后*

    當前生命周期函數(shù)中數(shù)據(jù)和模板已經(jīng)進行相結(jié)合,可以在這里獲取最新的DOM結(jié)構(gòu)苛吱。

    如果在當前生命周期函數(shù)中進行實例化操作時酪术,要進行邊界條件的判斷,否則會造成性能消耗。

    new操作執(zhí)行的時候做了哪些事情绘雁?

    1. 開辟一塊內(nèi)存空間橡疼,創(chuàng)建一個空對象
    2. 將所創(chuàng)建的對象的__ proto __指向構(gòu)造函數(shù)的prototype
    3. 執(zhí)行構(gòu)造函數(shù)中的代碼,將this的指向庐舟,指向當前的內(nèi)存空間
    4. 返回該對象(除非構(gòu)造函數(shù)中返回了一個對象或者函數(shù))
  • beforeDestory銷毀前*

    當前生命周期會在組件被銷毀的時候去執(zhí)行欣除,可以訪問到真實的DOM結(jié)構(gòu),進行事件的解綁挪略,定時器的清除耻涛。

  • destroyed()銷毀后

    在當前生命周期斷開了與vue的關(guān)聯(lián),訪問不到真實的DOM結(jié)構(gòu)瘟檩。

    (對象停止并從內(nèi)存中刪除)

  • keep-alive

    keep-alive是Vue的內(nèi)置組件抹缕,其中的生命周期只會走一遍,并且會增加activated和deactivaed生命周期墨辛,用以其他的業(yè)務(wù)邏輯卓研。

    通常用來包裹動態(tài)切換的路由或組件,防止組件頻繁地創(chuàng)建和銷毀睹簇,從而達到性能優(yōu)化的效果奏赘。

    • keep-alive常用的屬性

    include:字符串或正則表達式。匹配的組件會被緩存太惠。

    exclude:字符串或正則表達式磨淌。匹配的組件都不會被緩存。

    max:數(shù)字凿渊。最多可以緩存多少組件實例梁只。

  • activated活躍狀態(tài)

    當前組件顯示時執(zhí)行的生命周期

  • deactivated緩存狀態(tài)

    當前組件緩存時執(zhí)行的生命周期

  • errorCaptured

    當捕獲一個來自子孫組件的錯誤時被調(diào)用。

    此鉤子會收到三個參數(shù):錯誤對象埃脏、發(fā)生錯誤的組件實例以及一個包含錯誤來源信息的字符串搪锣。此鉤子可以返回 false 以阻止該錯誤繼續(xù)向上傳播。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末彩掐,一起剝皮案震驚了整個濱河市构舟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌堵幽,老刑警劉巖狗超,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異朴下,居然都是意外死亡努咐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門桐猬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麦撵,“玉大人,你說我怎么就攤上這事溃肪∶馕福” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵惫撰,是天一觀的道長羔沙。 經(jīng)常有香客問我,道長厨钻,這世上最難降的妖魔是什么扼雏? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮夯膀,結(jié)果婚禮上诗充,老公的妹妹穿的比我還像新娘。我一直安慰自己诱建,他們只是感情好蝴蜓,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著俺猿,像睡著了一般茎匠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上押袍,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天诵冒,我揣著相機與錄音,去河邊找鬼谊惭。 笑死汽馋,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的圈盔。 我是一名探鬼主播惭蟋,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼药磺!你這毒婦竟也來了告组?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤癌佩,失蹤者是張志新(化名)和其女友劉穎木缝,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體围辙,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡我碟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了姚建。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矫俺。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出厘托,到底是詐尸還是另有隱情友雳,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布铅匹,位于F島的核電站押赊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏包斑。R本人自食惡果不足惜流礁,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望罗丰。 院中可真熱鬧神帅,春花似錦、人聲如沸萌抵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谜嫉。三九已至萎坷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沐兰,已是汗流浹背哆档。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留住闯,地道東北人瓜浸。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像比原,于是被迫代替她去往敵國和親插佛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

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

  • 生命周期 new Vue() 初始化一些事件和生命周期 例如:vm.$on, vm.$once, vm.$em...
    沒了提心吊膽的稗子閱讀 400評論 0 0
  • vue生命周期和組件 1.事件 1)函數(shù)內(nèi)部阻止事件冒泡 e.cancelBubble=true;2)標簽內(nèi)阻...
    JK醬閱讀 465評論 0 0
  • 前言 使用Vue在日常開發(fā)中會頻繁接觸和使用生命周期,在官方文檔中是這么解釋生命周期的: 每個 Vue 實例在被創(chuàng)...
    心_c2a2閱讀 2,260評論 1 8
  • 主要還是自己看的量窘,所有內(nèi)容來自官方文檔雇寇。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,353評論 0 25
  • 【大洲書話:竹林七賢無竹可居】跟韋力先生《覓詩記》尋詩走兩條路徑蚌铜,一是現(xiàn)實中的古代詩人相關(guān)遺址锨侯,許多都是鮮有人尋訪...
    徐景洲閱讀 184評論 0 0