vue生命周期

Vue在被創(chuàng)建的時(shí)候都要經(jīng)過一系列的初始化過程抱虐,這個(gè)初始化過程例如設(shè)置數(shù)據(jù)監(jiān)聽,編譯模板,將實(shí)例掛載Dom并在數(shù)據(jù)變化時(shí)更新Dom逞刷。
在這個(gè)過程中也會(huì)運(yùn)行生命周期鉤子函數(shù)。

生命周期鉤子函數(shù):

  • beforeCreate
  • created
  • beforeMount
  • mounted
  • beforeUpdate
  • updated
  • beforeDestory
  • destoryed

1.beforeCreate 和 created之間的生命周期

初始化事件妻熊,進(jìn)行數(shù)據(jù)的觀測(cè)夸浅,可以看到當(dāng)created的時(shí)候已經(jīng)和data綁定(所以當(dāng)data改變的時(shí)候,視圖也會(huì)進(jìn)行變化)


image.png

2. created 和 beforeMount之間生命周期

image.png

created和beforeMount之間可以看到需要進(jìn)行判斷是否有el對(duì)象扔役,有則繼續(xù)向下編譯帆喇,沒有的話則停止編譯,直到vue實(shí)例上調(diào)用vm.$mount(el)亿胸。
例如 注釋掉

el:'#app'

則運(yùn)行到created這個(gè)生命周期就停止運(yùn)行了坯钦,
但是如果這個(gè)時(shí)候在vue實(shí)例上調(diào)用,就會(huì)繼續(xù)向下執(zhí)行

vm.$mount(el) // 這個(gè)el就是掛載的dom節(jié)點(diǎn)

template有否對(duì)于生命周期的影響
(1) 存在template時(shí)侈玄,將其作為模板編譯成render函數(shù)
(2) 不存在時(shí)婉刀,則用外部HTML作為模板編譯
可以看出temlate優(yōu)先級(jí)要比外部HTML高
vue對(duì)象中還存在render函數(shù),以createElement作為參數(shù)序仙,然后做渲染操作突颊,可直接嵌入jsx
渲染優(yōu)先級(jí)順序
render函數(shù) > template >外部HTML

3.beforeMount和mounted之間生命周期

image.png

可以看到beforeMount之后,給vue實(shí)例添加$el對(duì)象潘悼,并且替換掉掛載的dom元素

4.beforeUpdate和updated之間生命周期

image.png

當(dāng)data變化時(shí)洋丐,會(huì)觸發(fā)到對(duì)應(yīng)組件的重新渲染,先后調(diào)用beforeUpdate和updated鉤子函數(shù)挥等。

5.beforeDestory和destoryed

image.png

beforeDestory鉤子函數(shù)在實(shí)例銷毀前調(diào)用友绝,在這一步,實(shí)例仍完全可用肝劲。
destoryed在實(shí)例銷毀后調(diào)用迁客,調(diào)用后郭宝,vue指定的所有東西都會(huì)解綁定,所有監(jiān)聽器會(huì)被移除掷漱,子實(shí)例也完全被銷毀粘室。

在vue-cli生成的項(xiàng)目中,打印生命周期前后如下:

 beforeCreate() {
    console.group('------beforeCreate創(chuàng)建前狀態(tài)------');
    console.log('%c%s', 'color:red', 'el     :' + this.$el); //undefined
    console.log('%c%s', 'color:red', 'data   :' + this.$data); //undefined
  }
  created() {
    console.group('------created創(chuàng)建完畢狀態(tài)------');
    console.log('%c%s', 'color:red', 'el     :' + this.$el); //undefined
    console.log('%c%s', 'color:red', 'data   :' + this.$data); //已被初始化
  }
  beforeMount() {
    console.group('------beforeMount掛載前狀態(tài)------');
    console.log('%c%s', 'color:red', 'el     :' + this.$el); //已被初始化  虛擬dom
    console.log('%c%s', 'color:red', 'data   :' + this.$data); //已被初始化
  }
  mounted() {
    console.group('------mounted 掛載結(jié)束狀態(tài)------');
    console.log('%c%s', 'color:red', 'el     :' + this.$el); //已被初始化
    console.log('%c%s', 'color:red', 'data   :' + this.$data); //已被初始化
  }

------beforeCreate創(chuàng)建前狀態(tài)------
 el     :undefined
 data   :undefined
 ------created創(chuàng)建完畢狀態(tài)------
 el     :undefined
 data   :[object Object]
 ------beforeMount掛載前狀態(tài)------
 el     :undefined
 data   :[object Object]
------mounted 掛載結(jié)束狀態(tài)------
 el     :[object HTMLElement]
 data   :[object Object]

參考:https://segmentfault.com/a/1190000011381906

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卜范,一起剝皮案震驚了整個(gè)濱河市衔统,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌海雪,老刑警劉巖锦爵,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異奥裸,居然都是意外死亡险掀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門湾宙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)樟氢,“玉大人,你說我怎么就攤上這事侠鳄〔嚎校” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵伟恶,是天一觀的道長(zhǎng)霸妹。 經(jīng)常有香客問我,道長(zhǎng)知押,這世上最難降的妖魔是什么叹螟? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮台盯,結(jié)果婚禮上罢绽,老公的妹妹穿的比我還像新娘。我一直安慰自己静盅,他們只是感情好良价,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蒿叠,像睡著了一般明垢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上市咽,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天痊银,我揣著相機(jī)與錄音,去河邊找鬼施绎。 笑死溯革,一個(gè)胖子當(dāng)著我的面吹牛贞绳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播致稀,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冈闭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了抖单?” 一聲冷哼從身側(cè)響起萎攒,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矛绘,沒想到半個(gè)月后耍休,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔑歌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年羹应,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揽碘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片次屠。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雳刺,靈堂內(nèi)的尸體忽然破棺而出劫灶,到底是詐尸還是另有隱情,我是刑警寧澤掖桦,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布本昏,位于F島的核電站,受9級(jí)特大地震影響枪汪,放射性物質(zhì)發(fā)生泄漏涌穆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一雀久、第九天 我趴在偏房一處隱蔽的房頂上張望宿稀。 院中可真熱鬧,春花似錦赖捌、人聲如沸祝沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)罩锐。三九已至,卻和暖如春卤唉,著一層夾襖步出監(jiān)牢的瞬間涩惑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工桑驱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留境氢,地道東北人蟀拷。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像萍聊,于是被迫代替她去往敵國(guó)和親问芬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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

  • 每個(gè)vue實(shí)例從創(chuàng)建到銷毀的過程都是一個(gè)生命周期寿桨,也會(huì)運(yùn)行對(duì)應(yīng)的鉤子函數(shù)此衅,下圖為Vue生命周期示意圖: 1.bef...
    yun_154192閱讀 12,640評(píng)論 1 7
  • 基礎(chǔ)知識(shí) Vue的生命周期 大自然有春夏秋冬,人有生老病死亭螟,優(yōu)秀的Vue當(dāng)然也存在自己的生命周期挡鞍。 對(duì)于Vue來(lái)說...
    猴逃逃閱讀 270評(píng)論 0 0
  • 每個(gè)vue實(shí)例從創(chuàng)建到銷毀的過程都是一個(gè)生命周期,也會(huì)運(yùn)行對(duì)應(yīng)的鉤子函數(shù)预烙,下圖為Vue生命周期示意圖: 1.bef...
    Starkchen閱讀 1,205評(píng)論 0 0
  • beforeCreate created beforeMount mounted beforeUpdate upd...
    瀟瀟翔子閱讀 257評(píng)論 0 0
  • 生命周期涉及到的鉤子函數(shù)總共有8個(gè)墨微。 1、beforeCreate 2扁掸、create 3翘县、beforeMount ...
    花上閱讀 595評(píng)論 0 0