詳細的分析 Vue生命周期

Vue 的生命周期

生命周期執(zhí)行的函數(shù)叫法有三種:

  • 生命周期鉤子

  • 生命周期函數(shù)

  • 鉤子函數(shù)

生命周期鉤子概念:

在vue實例的生命周期的各個過程中 提供函數(shù)寫邏輯代碼 vue實例內(nèi)部會在各對應(yīng)的過程調(diào)起該函數(shù)


生命周期鉤子執(zhí)行順序:

創(chuàng)建到掛載的過程:


1.  new Vue(); 

        ↓

2.  讀取所有的生命周期鉤子(沒有調(diào)用)

        ↓

3.  執(zhí)行beforeCreate生命周期鉤子函數(shù)食棕。(數(shù)據(jù)觀測,事件,監(jiān)聽,都還不起作用)

        ↓

4.  讀取所有的屬性和方法侥袜,監(jiān)聽雁刷,計算屬性  (此時Vue實例中的配置全部生效)

        ↓

5.  執(zhí)行created 生命周期鉤子函數(shù)             

  (請求后臺數(shù)據(jù),ajax請求之類的捆昏,在這個函數(shù)執(zhí)行之后抵乓,就可以添加數(shù)據(jù)的監(jiān)聽)

        ↓

6.  判斷是否有el配置項,如果沒有韭赘,等待$mount()執(zhí)行揍愁。如果不執(zhí)行就終止生命周期(但之前的鉤子還是有效的)

    // 也可以 進行動態(tài)掛載

    // vm.$mount('#app');  //等價于el配置項

        ↓

7.  渲染 template 模版

        ↓

8.  查找有沒有對應(yīng)的dom結(jié)構(gòu)

        ↓

9.  有對應(yīng)的dom結(jié)構(gòu),讀取出來內(nèi)部的dom冯挎,進行渲染 (意思就是說內(nèi)部渲染出虛擬 dom結(jié)構(gòu))

        ↓

10.  執(zhí)行beforeMount生命周期鉤子函數(shù) (掛載數(shù)據(jù)和渲染出真實 dom之前調(diào)用的函數(shù))

        ↓

11.  內(nèi)部渲染完成虛擬dom底哥,并插入屬性對應(yīng)的數(shù)據(jù) ,替換到el作用的真實dom中

        ↓

12.執(zhí)行mounted生命周期鉤子函數(shù)   

(此時可以操作dom結(jié)構(gòu)了,因為真實dom已經(jīng)被渲染完成房官,不建議使用document操作趾徽。應(yīng)該使用$refs操作dom)

更新的過程(由于數(shù)據(jù)已經(jīng)發(fā)生了變化,需要重新渲染dom結(jié)構(gòu)翰守。更新是虛擬dom結(jié)構(gòu)的更新):


12. 當數(shù)據(jù)(data)發(fā)生變化后

        ↓

13.  執(zhí)行beforeUpdate生命周期鉤子函數(shù)(數(shù)據(jù)已經(jīng)變化了孵奶,虛擬dom沒有更新)

        ↓

14.  將數(shù)據(jù)更新渲染到dom中去  (虛擬dom的重新渲染改變數(shù)據(jù) , 然后轉(zhuǎn)變?yōu)?真實dom )

        ↓

15.  執(zhí)行updated生命周期鉤子函數(shù)  (此時真實dom已經(jīng)完全修改,之后可以調(diào)用$nextTick())

銷毀的過程:


  動態(tài)銷毀 vm.$destroy() / 內(nèi)部配置中調(diào)用this.$destroy()

            ↓

16.  執(zhí)行beforeDestroy生命周期鉤子函數(shù) -- 將要移除事件監(jiān)聽(所有watch)

            ↓

17.  移除vue實例的事件監(jiān)聽蜡峰,子組件的事件監(jiān)聽了袁。

            ↓

18.  執(zhí)行destroyed生命周期鉤子函數(shù)

最后總結(jié)一下注意的點:

  • 當全部數(shù)據(jù)變化時

事件執(zhí)行的順序:watch -> beforeUpdate -> updated -> $nextTick()

此時要進行 dom的操作時:


只能在  updated / $nextTick() 函數(shù)中進行操作

因為watch / beforeUpdate 時,真實的dom還未進行渲染出來

  • 當某個數(shù)據(jù)變化時湿颅,執(zhí)行dom操作

    methods: {

        changedata(){

            this.data = 'xxxxx';

            // 得到變化后的結(jié)果

            /*

            $nextTick()需要提供一個回調(diào)函數(shù)作為參數(shù)

            當指定數(shù)據(jù)(data)發(fā)生變化后载绿,dom結(jié)構(gòu)執(zhí)行更新后

            回調(diào)函數(shù)再執(zhí)行。

            必須寫在數(shù)據(jù)變化后的第一行代碼油航。中間除注釋外不能有任何的代碼

            */

            this.$nextTick(()=>{

                console.log('nextTick調(diào)用了');

            })

        }

    },

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末崭庸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谊囚,更是在濱河造成了極大的恐慌冀自,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秒啦,死亡現(xiàn)場離奇詭異熬粗,居然都是意外死亡,警方通過查閱死者的電腦和手機余境,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門驻呐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人芳来,你說我怎么就攤上這事含末。” “怎么了即舌?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵佣盒,是天一觀的道長。 經(jīng)常有香客問我顽聂,道長肥惭,這世上最難降的妖魔是什么盯仪? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮蜜葱,結(jié)果婚禮上全景,老公的妹妹穿的比我還像新娘。我一直安慰自己牵囤,他們只是感情好爸黄,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著揭鳞,像睡著了一般炕贵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上野崇,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天称开,我揣著相機與錄音,去河邊找鬼舞骆。 笑死,一個胖子當著我的面吹牛径荔,可吹牛的內(nèi)容都是我干的督禽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼总处,長吁一口氣:“原來是場噩夢啊……” “哼狈惫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鹦马,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤胧谈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后荸频,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菱肖,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年旭从,在試婚紗的時候發(fā)現(xiàn)自己被綠了稳强。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡和悦,死狀恐怖退疫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鸽素,我是刑警寧澤褒繁,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站馍忽,受9級特大地震影響棒坏,放射性物質(zhì)發(fā)生泄漏燕差。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一俊抵、第九天 我趴在偏房一處隱蔽的房頂上張望谁不。 院中可真熱鬧,春花似錦徽诲、人聲如沸刹帕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽偷溺。三九已至,卻和暖如春钱贯,著一層夾襖步出監(jiān)牢的瞬間挫掏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工秩命, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尉共,地道東北人。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓弃锐,卻偏偏與公主長得像袄友,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子霹菊,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

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

  • # 傳智播客vue 學習## 1. 什么是 Vue.js* Vue 開發(fā)手機 APP 需要借助于 Weex* Vu...
    再見天才閱讀 3,541評論 0 6
  • Vue 框架的入口就是 Vue 實例剧蚣,其實就是框架中的 view model ,它包含頁面中的業(yè)務(wù) 處理邏輯旋廷、數(shù)據(jù)...
    云中一樵夫閱讀 1,085評論 0 1
  • 一千六百年前 告別龜茲溫潤的綠 兜兜轉(zhuǎn)轉(zhuǎn)到長安 你是龜茲的王族 是穎悟絕倫的佛譯家 更是兩度破戒的異族 千年風沙碩...
    菜瓜飯閱讀 434評論 0 6
  • http://www.reibang.com/p/d89bc0898264 每一個數(shù)據(jù)分析師或是數(shù)據(jù)科學家都使用各...
    hzyido閱讀 382評論 0 2
  • 6月18日有幸聽了一場李善友教授的演講盛宴鸠按,不是第一次聽聞第一性原理,卻是第一次感到震撼饶碘。 李善友教授開篇講第一性...
    楊楊xx閱讀 2,290評論 2 9