官方圖片解釋
Understanding Vue LifeCycle Hook
beforeCreate
在 Vue Instance、 Component(組件/元件) 初始化之後,數據觀測(data observer)和 event/watcher 事件配置之前被調用。
created
Vue Instance、 Component(組件/元件)創建完成,資料 $data
已經可以取得,屬性已經綁定,但 DOM 還未生成,並且 $el
屬性還不存在。
beforeMount
在掛載開始之前被調用,相關的 render 函數首次被調用。
mounted
el 被新創建的 vm.$el 替換,並掛載到 instance 上去之後調用該 hook。
beforeUpdate
數據更新之前被調用,發生在虛擬 DOM 重新渲染之前,可以在這個 hook 中進一步改變狀態,並不會觸發附加的重新渲染過程,這時還不會描繪 View。
updated
由於數據更改導致虛擬 DOM 重新渲染,這時 DOM 已經更新完成, View 被顯示在畫面上。
activated
有設定 keep-alive
時,這個 hook 會被呼叫。
deactivated
停用 keep-alive
時被呼叫。
beforeDestroy
Instance 被銷毀之前調用,在這一步中,該 instance 完全可以使用。
destroyed
Vue Instance 銷毀後調用,調用後該 instance 的所有東西會解除綁定,也會同時解掉所有 event listener, 所有 child instance 也會清除。
注意
- 資料在 created 以後才存取的到(別把資料初始化跟 ajax 寫在 beforeCreate)
場景運用
- beforeCreate: 加入 loading 事件
- created: 在這結束 loading, 做 initialize 實現函數執行
- mounted: 在這對 backend 發起請求, get some data 後搭配 hook do something
- beforeDestroy: 你確認刪除__嗎?
- destroyed: 當該 component 刪除後清空相關內容