VUE 生命周期


生命周期圖示(來自 vue 官網)

一、⽣命周期是什么?
Vue 實例有⼀個完整的⽣命周期,也就是從開始創建、初始化數據、編譯模版、掛載 Dom -> 渲染、更
新 -> 渲染、卸載等⼀系列過程,我們稱這是 Vue 的⽣命周期。

 

二、各個⽣命周期的作⽤

1、 創建前(beforeCreate):對應鈎子函數是 beforeCreate, 組件實例被創建之初,組件的屬性⽣效之前。實例初始化階段,數據觀察和事件機制都還沒有形成,不能獲取到DOM  節點

2、 創建后 (created): 對應鈎子函數是Created,  組件實例已經完全創建,屬性也綁定,但真實 dom 還沒有⽣成,$el 還不可⽤。(vue 實例已創建,但是還是不能獲取 DOM 節點)

3、 載入前 (beforeMount): 對應鈎子函數 beforeMount, 在掛載開始之前被調⽤:相關的 render 函數⾸次被調⽤。仍然不能獲取 DOM 元素,此時 vue 的根元素已經創建,下面 vue 對 DOM 的操作將圍繞這個根節點展開。beforeMount 是過渡性階段,一個項目一般只能用一次

4、 載入后 (mounted): 對應鈎子函數 mounted,el 被新創建的 vm.$el 替換,並掛載到實例上去之后調⽤該鈎⼦。 使用得最多的鈎子函數, 一般的異步請求都寫在這里,此時的vue 和 DOM 都已經渲染出來了

5、 更新前 (beforeUpdate): 對應鈎子函數 beforeUpdate, 組件數據更新之前調⽤,發⽣在虛擬 DOM 打補丁之前。VUE 遵循數據驅動 DOM 的原則, beforeUpdate 函數在數據更新后雖然沒有立即更新數據,但是 DOM 的數據會改變,這是 VUE 雙向數據綁定的作用

6、 更新后 (updated): 對應鈎子函數 updated,組件數據更新之后。DOM 會同步更改過的內容

7、銷毀前 (beforeDestroy): 對應鈎子函數 beforeDestroy, 組件銷毀前調⽤。在上一階段 VUE 已經成功通過 數據驅動DOM 更新,當我們不再需要 VUE 操縱 DOM, 就需要銷毀,也就是清除 VUE 與 DOM 的關聯,調用 destroy方法 可以銷毀當前組件,在銷毀前,會調用 beforeDestroy 鈎子函數

8、 銷毀后 (destroyed): 對應鈎子函數 destroy, 組件銷毀后調⽤。銷毀后,會調用 destroyed 鈎子函數


免責聲明!

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



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