vue生命週期就是從開始建立,初始化資料,編譯模板,掛載dom,渲染->更新->渲染,銷毀等一系列過程
總共分為8個階段:
階段 作用
beforecreate----建立前 元件例項更被建立,元件屬性計算之前,資料物件data都為undefined,未初始化。
created----建立後 元件例項建立完成,屬性已經繫結,資料物件data已存在,但dom未生成,el未
存在這個
時候ht
ml還沒
有渲染出
來bef
orem
ount
−−−掛
載前vu
e例項的
el未存在這個時候html還沒有渲染出來 beforemount---掛載前 vue例項的
el未存在這
個時候h
tml還
沒有渲染
出來be
fore
moun
t−−−
掛載前v
ue例項
的el和data都已初始化,掛載之前為虛擬的dom節點,data.message未替換
mounted-----掛載後 vue例項掛載完成,data.message成功渲染。
beforeupdate----更新前 當data變化時,會觸發beforeupdate方法
updated----更新後 當data變化時,會觸發updated方法
beforedestory—銷毀前 元件銷毀之前呼叫
destoryed—銷毀後 元件銷毀之後呼叫,對data的改變不會再觸發週期函式,vue例項已解除事件監聽和dom繫結,但dom結構依然存在
vue生命週期的應用場景:
beforecreate 可以在此時加一些loading效果,在created時進行移除
created 需要非同步請求資料的方法可以在此時執行,完成資料的初始化
mounted 當需要操作dom的時候執行,可以配合$.nexttick 使用進行單一事件對資料的更新後更新dom
updated 當資料更新需要做統一業務處理的時候使用
只有ajax資料請求放在created裡面就可以了,這樣可以及早發請求獲取資料;如果有依賴dom的情況下,就放到mounted裡面
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...