vue生命週期

一. vue生命週期:

Vue實例從創建到銷燬的過程,就是生命週期。詳細來說也就是從開始創建、初始化數據、編譯模板、掛載Dom、渲染→更新→渲染、卸載等一系列過程。

二. 鉤子函數詳解:

1. beforeCreate:

在實例初始化之後,數據觀測(data observer) 和 event/watcher 事件配置之前被調用。

2.created:

實例已經創建完成之後被調用。在這一步,實例已完成以下的配置:數據觀測(data observer),屬性和方法的運算, watch/event 事件回調。然而,掛載階段還沒開始,$el 屬性目前不可見。

3.beforeMount:

在掛載開始之前被調用:相關的 render 函數(模板)首次被調用。

4.mounted:

el 被新創建的 vm.$el 替換,並掛載到實例上去之後調用該鉤子。

有初始值的DOM渲染,例如我們的初始數據list,渲染出來的li,只有這裏才能獲取

5.beforeUpdate:

數據更新時調用,發生在虛擬 DOM 重新渲染和打補丁之前。 你可以在這個鉤子中進一步地更改狀態,這不會觸發附加的重渲染過程。

當我們更改Vue的任何數據,都會觸發該函數

6.updated:

  1. 當這個鉤子被調用時,組件 DOM 已經更新,所以你現在可以執行依賴於 DOM 的操作。然而在大多數情況下,你應該避免在此期間更改狀態,因爲這可能會導致更新無限循環。

  2. 該鉤子在服務器端渲染期間不被調用。

  3. 數據更新就會觸發(vue所有的數據只有有更新就會觸發),如果想數據一遍就做統一的處理,可以用這個,如果想對不同數據的更新做不同的處理可以用nextTick,或者是watch進行監聽

7.beforeDestroy:

實例銷燬之前調用。在這一步,實例仍然完全可用。

8.destroyed:

Vue 實例銷燬後調用。調用後,Vue 實例指示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子實例也會被銷燬。 該鉤子在服務器端渲染期間不被調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章