vue中的鈎子函數


什么是vue的鈎子函數?

Vue 實例在被創建時,會經過一系列的初始化過程,初始化過程中會運行一些函數,叫做生命周期鈎子函數,通過運用鈎子函數,用戶在可以在Vue實例初始化的不同階段添加自己的代碼,以此來實現自己想做的事情。鈎子函數在Vue初始化、更新數據、銷毀時會被自動調用。

鈎子函數的生命周期示意圖:

鈎子函數詳解:

  1. beforeCreate:vue實例創建初始化后,數據觀測 (data observer) 和event/watch事件配置之前觸發;

  2. created:在實例創建完成后被立即調用,此時實例已完成數據觀測 (data observer),屬性方法的運算,watch/event 事件回調的配置。然而,掛載階段還沒開始,$el 屬性目前不可見;
  3. beforeMount:實例掛載開始之前被調用, render 函數首次被調用,該鈎子在服務器端渲染期間不被調用;
  4. mounted:實例已掛載。
  5. beforeUpdate:數據更新時調用,發生在虛擬 DOM 打補丁之前,這里適合在更新之前訪問現有的 DOM,比如手動移除已添加的事件監聽器,該鈎子在服務器端渲染期間不被調用,因為只有初次渲染會在服務端進行;
  6. updated:數據更改會導致虛擬 DOM 重新渲染和打補丁,在這之后會調用updated鈎子。
  7. beforeDestroy:實例銷毀之前調用。在這一步,實例仍然完全可用,該鈎子在服務器端渲染期間不被調用;
  8. destroyed:Vue 實例銷毀后調用。調用后,Vue 實例指示的所有東西都會接觸綁定,所有的事件監聽器會被移除,所有的子實例也會被銷毀,該鈎子在服務器端渲染期間不被調用
  9. activated:當某個組件使用了keep-alive組件緩存時,該組件激活時調用activated鈎子,該鈎子在服務器端渲染期間不被調用;
  10. deactivated:當某個組件使用了keep-alive組件緩存時,該組件停用時調用deactivated鈎子,該鈎子在服務器端渲染期間不被調用;
  11. errorCaptured:當捕獲一個來自子孫組件的錯誤時被調用。此鈎子會收到三個參數:錯誤對象、發生錯誤的組件實例以及一個包含錯誤來源信息的字符串。此鈎子可以返回 false 以阻止該錯誤繼續向上傳播。

 


免責聲明!

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



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