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
來源:簡書


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM