1. 程式人生 > 其它 >vue 生命週期 mixin執行順序

vue 生命週期 mixin執行順序

總共分為8個階段建立前/後,載入前/後,更新前/後,銷燬前/後。

建立前/後: 在beforeCreated階段,vue例項的掛載元素$el和資料物件Data都為undefined,還未初始化。created階段,vue例項的資料物件data有了,el還沒有

載入前/後:在beforeMount階段,vue例項的$el和data都初始化了,但還是掛載之前為虛擬的dom節點,data.message還未替換。在mounted階段,vue例項掛載完成,data.message成功渲染。

更新前/後:當data變化時,會觸發beforeUpdate和updated方法。

銷燬前/後:在執行destroy方法後,對data的改變不會再觸發周期函式,說明此時vue例項已經解除了事件監聽以及和dom的繫結,但是dom結構依然存在。

activated: keep-alive元件啟用時呼叫

deactivated: keep-alive元件銷燬時呼叫

errorCaptured: 當捕獲一個來自子孫元件的錯誤時被呼叫

包裹動態元件時,會快取不活動的元件例項,主要用於保留元件狀態或避免重新渲染。

父子元件生命週期執行順序
建立與掛載

父beforeCreate > 父created > 父beforeMount > 子beforeCreate > 子created > 子beforeMount > 子mounted > 父mounted

更新
父beforeUpdate > 子beforeUpdate > 子updated > 父updated

銷燬

父beforeDestroy > 子beforeDestroy > 子destroyed > 父destroyed

父子元件及mixin的生命週期執行順序
mixin的生命週期鉤子在元件的生命週期鉤子之前執行

在父元件中引入了mixin,生命週期順序如下:

mixin的beforeCreate > 父beforeCreate > mixin的created > 父created > mixin的beforeMount > 父beforeMount > 子beforeCreate > 子created > 子beforeMount > 子mounted > mixin的mounted >父mounted

連結:https://www.jianshu.com/p/f0b7950b3ab0
來源:簡書

大步向前,一直走就好...