VUE生命週期

2022-09-14 20:00:22 字數 1775 閱讀 3283

什麼是vue生命週期? vue 例項從建立到銷毀的過程,就是生命週期

注意:瀏覽器有8個鉤子,但是node中做服務端渲染的時候只有beforecreate和created

beforecreate是new vue()之後觸發的第乙個鉤子,在當前階段data、methods、computed以及watch上的資料和方法都不能被訪問。

created在例項建立完成後發生,當前階段已經完成了資料觀測,也就是可以使用資料,更改資料,在這裡更改資料不會觸發updated函式。可以做一些初始資料的獲取,在當前階段無法與dom進行互動,如果非要想,可以通過vm.$nexttick來訪問dom。

beforemount發生在掛載之前,在這之前template模板已匯入渲染函式編譯。而當前階段虛擬dom已經建立完成,即將開始渲染。在此時也可以對資料進行更改,不會觸發updated。

mounted掛載完成後發生,在當前階段,真實的dom掛載完畢,資料完成雙向繫結,可以訪問到dom節點,使用$refs屬性對dom進行操作。

beforeupdate發生在更新之前,也就是響應式資料發生更新,虛擬dom重新渲染之前被觸發,你可以在當前階段進行更改資料,不會造成重渲染。

updated發生在更新完成之後,當前階段元件dom已完成更新。要注意的是避免在此期間更改資料,因為這可能會導致無限迴圈的更新。

beforedestroy發生在例項銷毀之前,在當前階段例項完全可以被使用,我們可以在這時進行善後收尾工作,比如清除計時器,銷毀父元件對子元件的重複監聽。beforedestroy()

destroyed發生在例項銷毀之後,這個時候只剩下了dom空殼。元件已被拆解,資料繫結被卸除,監聽被移出,子例項也統統被銷毀。

3-2 生命週期呼叫順序

載入渲染過程父beforecreate->父created->父beforemount->子beforecreate->子created->子beforemount- >子mounted->父mounted

子元件更新過程父beforeupdate->子beforeupdate->子updated->父updated

父元件更新過程父 beforeupdate -> 父 updated

銷毀過程父beforedestroy->子beforedestroy->子destroyed->父destroyed

3-3 vue生命週期的作用是什麼

它的生命週期中有多個事件鉤子,讓我們控制vue例項過程更加清晰。

3-4 第一次頁面載入會觸發哪幾個鉤子

第一次頁面載入時會觸發 beforecreate, created, beforemount, mounted 這幾個鉤子

3-5 每個週期具體適合哪些場景

vue生命週期

beforecreate 元件例項剛剛被建立,屬性都沒有 create 例項已經建立完成,屬性已經繫結 beforemount 模板編譯之前 mounted 模板編譯之後 beforeupdate 元件更新之前 updated 元件更新完畢 beforedestroy 元件銷毀之前 destroye...

vue生命週期

vue把整個生命週期劃分為建立 掛載 更新 銷毀等階段,每個階段都會給一些 鉤子 讓我們來做一些我們想實現的動作。學習例項的生命週期,能幫助我們理解vue例項的運作機制,更好地合理利用各個鉤子來完成我們的業務 我們分別來看看這幾個階段 1.beforecreate 此階段為例項初始化之後,此時的資料...

Vue 生命週期

import vue from vue el root 沒有的話,使用render,繼續沒有,就把el的outerhtml編譯成模板 template temp data beforecreate created el是原來的el beforemount 渲染函式 render h this.tex...