Vue基礎(chǔ)-生命周期

Vue生命周期分為四個(gè)階段(常用的有8個(gè),實(shí)際上vue總共有11個(gè))

第一階段(創(chuàng)建階段)

beforeCreate

在beforeCreate之前,Vue做了兩件事:

1袱讹、methods聲明

2闪湾、生命周期鉤子函數(shù)聲明

created

data數(shù)據(jù)注入,data數(shù)據(jù)劫持

1尊搬、遍歷遞歸data選項(xiàng)叁鉴,給每個(gè)聲明式變量添加setter/getter

2、把劫持過變量都放在組件實(shí)例上

第二階段(掛載階段)

beforeMount

在created之后佛寿、beforeMount之前幌墓,vue做了下面這些事

1、通過el冀泻、template尋找組件的視圖模板(帶有指令的HTML字符串)

2常侣、把找到的template視圖(帶有指令的HTML字符串)編譯成render()函數(shù)

mounted

1、根據(jù)render()渲染函數(shù)弹渔,生成“抽象語法樹AST”胳施,再把AST創(chuàng)建成“虛擬DOM(VNode)”(Vnode是真實(shí)DOM的一種數(shù)據(jù)描述,它本質(zhì)上是json格式的數(shù)據(jù))

2捞附、根據(jù)VNode創(chuàng)建真實(shí)DOM(背后有依賴收集巾乳、Watcher工作)把那些聲明式變量都替換成真實(shí)數(shù)據(jù),DOM渲染完成鸟召。

第三階段(更新階段)

beforeUpdate

當(dāng)被被劫持過的data數(shù)據(jù)發(fā)生變化時(shí)胆绊,這將進(jìn)入更新階段

updated

1、當(dāng)vue上下文中的data發(fā)生變化時(shí)欧募,使用render()渲染函數(shù)再生成一新的Vnode

2压状、使用大名鼎鼎的Diff運(yùn)算,patch('old vnode', 'new vnode')找出兩個(gè)Vnode之間最小差異

3跟继、notify通過Watcher根據(jù)“依賴收集”再次更新真實(shí)DOM

為什么要有虛擬DOM這個(gè)的“玩意”种冬?

虛擬DOM存在的價(jià)值,大大地降低了“jQuery時(shí)代下人為尋找DOM變化差異”的不足舔糖,最小化地去更新DOM(盡可能地減少了DOM操作)娱两。所以虛擬DOM是MVVM的本質(zhì)

第四階段(銷毀階段)

beforeDestory

當(dāng)調(diào)用$destroy()或路由切換時(shí)金吗,組件進(jìn)入銷毀階段

destoryed

1十兢、拆卸掉Watcher趣竣,所以DOM不可能再發(fā)生更新。

2旱物、拆卸掉當(dāng)前組件的所有子組件遥缕,所以這些子組件也都進(jìn)入銷毀階段

3、卸載掉當(dāng)前組件中的事件處理器宵呛。

常用的幾個(gè)階段

created

調(diào)接口单匣、開啟ws長連接

mounted

調(diào)接口、開啟長連接

開定時(shí)器

執(zhí)行一些與DOM的操作

beforeDestroy

關(guān)閉長連接

關(guān)閉定時(shí)器

清除一些占用內(nèi)存的緩存數(shù)據(jù)(vuex宝穗、本地存儲(chǔ)數(shù)據(jù)户秤。。)


vue生命周期流程圖
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末讽营,一起剝皮案震驚了整個(gè)濱河市虎忌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌橱鹏,老刑警劉巖膜蠢,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異莉兰,居然都是意外死亡挑围,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門糖荒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杉辙,“玉大人,你說我怎么就攤上這事捶朵≈┦福” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵综看,是天一觀的道長品腹。 經(jīng)常有香客問我,道長红碑,這世上最難降的妖魔是什么舞吭? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮析珊,結(jié)果婚禮上羡鸥,老公的妹妹穿的比我還像新娘。我一直安慰自己忠寻,他們只是感情好惧浴,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著奕剃,像睡著了一般衷旅。 火紅的嫁衣襯著肌膚如雪哑姚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天芜茵,我揣著相機(jī)與錄音,去河邊找鬼倡蝙。 笑死九串,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寺鸥。 我是一名探鬼主播猪钮,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼胆建!你這毒婦竟也來了烤低?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤笆载,失蹤者是張志新(化名)和其女友劉穎扑馁,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凉驻,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腻要,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涝登。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雄家。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胀滚,靈堂內(nèi)的尸體忽然破棺而出趟济,到底是詐尸還是另有隱情,我是刑警寧澤咽笼,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布顷编,位于F島的核電站,受9級(jí)特大地震影響褐荷,放射性物質(zhì)發(fā)生泄漏勾效。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一叛甫、第九天 我趴在偏房一處隱蔽的房頂上張望层宫。 院中可真熱鬧,春花似錦其监、人聲如沸萌腿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毁菱。三九已至米死,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贮庞,已是汗流浹背峦筒。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窗慎,地道東北人物喷。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像遮斥,于是被迫代替她去往敵國和親峦失。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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