這是vue生命週期的圖示具體內容:
所有的生命週期鉤子函式如下:
beforecreate() ,
created() ,
beforemount() ,
mounted() ,
beforeupdate() ,
updated() ,
activated() ,
deactivated() ,
beforedestroy() ,
destroyed() ,
開啟控制台可以看出:
乙個例項被建立後上面的這四個鉤子函式按順序執行,這四個函式在這個過程只會被呼叫一次;
beforeupdate、updated是資料更新的前後執行的;
beforedestroy、destroyed是元件銷毀後執行的;
activated、deactivated是元件使用執行的,下面針對每個過程進行詳解:
beforecreate前面是初始化乙個vue例項,此時,events初始化完成,但data還未完成,所以此時不要修改資料;
created時,資料已經和data屬性進行繫結,這是最早進行ajax資料請求的地方。此時還未有el選項;
3.created鉤子函式和beforemount間的生命週期
created完成後,會有乙個判斷過程,判斷物件是否有el選項。如果有的話就繼續向下編譯,如果沒有el選項,則停止編譯,也就意味著停止了生命週期,直到在該vue例項上呼叫vm.$mount(el)。
如果有el選項後,會再次判斷是否有templete選項:
如果有的話中有template引數選項,則將其作為模板編譯成render函式。
如果沒有template選項,則將外部html作為模板編譯。
可以看到template中的模板優先順序要高於outer html的優先順序。
4.beforemount和mounted 鉤子函式間的生命週期
此時已經掛載el選項,可以操作dom,至此,vue例項前四個生命週期執行完成。
5.beforeupdate鉤子函式和updated鉤子函式間的生命週期
當vue發現data中的資料發生了改變,會觸發對應元件的重新渲染,先後呼叫beforeupdate和updated鉤子函式。
6.beforedestroy和destroyed鉤子函式間的生命週期
beforedestroy鉤子函式在例項銷毀之前呼叫。在這一步,例項仍然完全可用。
destroyed鉤子函式在vue 例項銷毀後呼叫。呼叫後,vue 例項指示的所有東西都會解繫結,所有的事件***會被移除,所有的子例項也會被銷毀。
另:activated:keep-alive元件啟用時呼叫。該鉤子在伺服器端渲染期間不被呼叫。
deactivated:keep-alive元件停用時呼叫。該鉤子在服務端渲染期間不被呼叫。
vue筆記 vue生命週期
vue的生命週期主要有八個,分別為 beforecreate created beforemount mounted beforeupdate updated beforedestory destoryed。befroecreate階段 此時變數和方法均為初始化載入出來,在這個階段呼叫任何變數和方法...
Vue入門(二)Vue基礎
本章根據前面的講解對有關的語法做進一步的講解和擴充,夯實基礎 所謂掛載點,就是前面例子中vue例項所管理的元素,這類似於css和jq的選擇器。data 1 vue例項管理其他選擇器對應的元素 類選擇器 data 元素選擇器 el div data 這裡呢,我僅僅列舉出兩個,其他的請大家自主的去試驗即...
VUE入門02 vue生命週期
網上有一些哥們分享的面試題有關於vue生命週期的 官方給出下面的圖來進行解釋,不過直接看還是不太明白,以下記錄是自己的理解和其他人的經驗總結 參考 圖中用紅色虛線指引的紅色框是 鉤子函式 在vue一整個的生命週期中會有很多鉤子函式提供給我們在vue生命週期不同的時刻進行操作,那麼先列出所有的鉤子函式...