Vue實體的生命週期分為3大階段,分別為: 實體建立 -> 實體更新 -> 實體銷毀,這篇先來看實體的建立階段。
1.beforeCreate: 實體剛建立,內容尚未初始化,有關實體的data都還沒辦法取得。
2.created: 實體建立完成,狀態與事件都已經初始化成功,data可以被存取。
3.beforeMount: 實體尚未與DOM連結綁定,尋找模板el或template替換網頁上實際節點。
4.mounted: 實體掛載到DOM,我們一般看到的網頁結果。
因為在mounted之後實體才正式和DOM的所有節點都完成連結綁定,所以如果程式中需要對DOM API進行操作應該選在mounted階段之後,才不會在那之後被Vue替換掉。
1.beforeUpdate: 當實體的狀態產生更動,但畫面尚未進行同步更新。
2.updated: 實體已經將產生變動的狀態同步更新完成畫面上。
但有關兩個狀態的使用如果只需要簡單的觀察data存取可以透過watch來處理,而且同一個循環裡watch被多次觸發也只會執行一次,直到下一個循環會再次被執行。
1.beforeUnmount: 實體被觸發這個hook時會開始將實體內容通通刪除。
2.unmounted: 實體內所有事件、狀態、子元件都已經被刪除後,觸發此hook,這個實體就不能再被操作了。