看了官網的Vue生命週期和各路大神的生命週期詳解,寫了一點自己的見解:
Vue鉤子函數:
- 創建期間的生命週期函數:
+ beforeCreate:實例剛在內存中被創建出來,此時,還沒有初始化好 data 和 methods 屬性
+ created:實例已經在內存中創建OK,此時 data 和 methods 已經創建OK,此時還沒有開始 編譯模板
+ beforeMount:此時已經完成了模板的編譯,但是還沒有掛載到頁面中
+ mounted:此時,已經將編譯好的模板,掛載到了頁面指定的容器中顯示 - 運行期間的生命週期函數:
- beforeUpdate:狀態更新之前執行此函數, 此時 data 中的狀態值是最新的,但是界面上顯示的 數據還是舊的,因爲此時還沒有開始重新渲染DOM節點
- updated:實例更新完畢之後調用此函數,此時 data 中的狀態值 和 界面上顯示的數據,都已經完成了更新,界面已經被重新渲染好了!
- 銷燬期間的生命週期函數:
- beforeDestroy:實例銷燬之前調用。在這一步,實例仍然完全可用。
- destroyed:Vue 實例銷燬後調用。調用後,Vue 實例指示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子實例也會被銷燬。
先上圖爲敬: