1. 程式人生 > >從零開始學 Web 之 Vue.js(三)Vue實例的生命周期

從零開始學 Web 之 Vue.js(三)Vue實例的生命周期

報錯 web 前端 cnblogs 前端 eth code vue 公眾 des

大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新......

  • github:https://github.com/Daotin/Web
  • 微信公眾號:Web前端之巔
  • 博客園:http://www.cnblogs.com/lvonve/
  • CSDN:https://blog.csdn.net/lvonve/

在這裏我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的項目。現在就讓我們一起進入 Web 前端學習的冒險之旅吧!

技術分享圖片

一、vue實例的生命周期

vue實例的生命周期指的是:從Vue實例創建,運行,到銷毀期間,會伴隨著各種各樣的事件,這些事件統稱為生命周期。

生命周期事件,也稱生命周期函數,也稱生命周期鉤子。

二、生命周期函數三個階段

創建期間的生命周期函數beforeCreatecreatedbeforeMountmounted

技術分享圖片

運行期間的生命周期函數beforeUpdateupdated

技術分享圖片

銷毀期間的生命周期函數beforeDestroydestroyed

技術分享圖片

三、生命周期函數詳解

創建期間:

  • beforeCreate:表示實例完全被創建出來之前,會執行beforeCreate函數,這時data 和 methods 中的 數據都還沒有沒初始化,如果調用data和methods的數據的話,會報錯。
  • created
    :實例已經在內存中創建OK,此時 data 和 methods 已經創建OK,此時還沒有開始 編譯模板。
  • beforeMount:此時已經完成了模板的編譯,但是還沒有從內存掛載到頁面中。

註意:在 beforeMount 執行的時候,頁面中的元素,還沒有被真正替換過來,只是之前寫的一些模板(比如插值表達式)還只是字符串的形式。

  • mounted: 此時,已經將編譯好的模板,掛載到了頁面指定的容器中顯示。

運行期間:

  • beforeUpdate:data數據更新之後,但是還未渲染到頁面時執行的函數。這時data數據已經更新,但是頁面的數據還是舊的。
  • updated:updated 事件執行的時候,頁面和 data 數據已經保持同步了,都是最新的。

銷毀期間:

  • beforeDestroy:實例銷毀之前調用。在這一步,實例上的data,methods等仍然完全可用。
  • destroyed:Vue 實例銷毀後調用。調用後,Vue 實例指示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子實例也會被銷毀。

整個生命周期的圖示為:

技術分享圖片

技術分享圖片

從零開始學 Web 之 Vue.js(三)Vue實例的生命周期