vue2 0 vue例項的生命週期

2022-09-02 19:36:11 字數 2173 閱讀 7532

vue把整個生命週期劃分為建立、掛載、更新、銷毀等階段,每個階段都會給一些「鉤子」讓我們來做一些我們想實現的動作。學習例項的生命週期,能幫助我們理解vue例項的運作機制,更好地合理利用各個鉤子來完成我們的業務**。

先看一下官網的生命週期圖例:

如果覺的太複雜,那我們就從簡單的開始學起。

這就是生命週期的8個階段,其中我們將用到最多的鉤子就是:created(成功建立)階段。

下面我們就一 一來學習各個生命階段:

1. beforecreate(建立之前)

此階段為例項初始化之後,此時的資料觀察和事件配置都沒好準備好。

結果:data和el還是不可用。

2. created(成功建立)

beforecreate之後緊接著的鉤子就是建立完畢created,我們同樣列印一下資料data和掛載元素el,看會得到什麼?

增加下述**:

我們會發現,我們可以讀取資料data的值,但是dom沒有生成,el的值還是沒有的。輸出$data為乙個object物件,而$el的值為undefined。

3. beforemount(掛載之前)

上乙個階段我們知道dom還沒生成,屬性el還為undefined,那麼,此階段為即將掛載,我們列印一下此時的$el是什麼?

增加一下下面**:

結果:,但此時}還沒有被成功地渲染成我們data中的資料。沒事,我們接著往下看。

4.mounted(成功掛載)

mounted也就是掛載完畢階段,到了這個階段,資料就會被成功渲染出來,我們編寫mounted的鉤子,列印$el看看:

結果:如我們所願,此時列印屬性el,我們看到}已經成功渲染成我們data.name的值

5.beforeupdate(更新之前)

我們知道,當修改vue例項的data時,vue就會自動幫我們更新渲染檢視,在這個過程中,vue提供了beforeupdate的鉤子給我們,在檢測到我們要修改資料的時候,更新渲染檢視之前就會觸發鉤子beforeupdate。

在beforeupdate階段,檢視並未重新渲染更新。

6.updated(成功更新)

此階段為更新渲染檢視之後,此時再讀取檢視上的內容,已經是最新的內容,檢視已經更新。

7.deforedestroy(銷毀之前)

呼叫例項的destroy( )方法可以銷毀當前的元件,在銷毀前,會觸發beforedestroy鉤子。

8.destroved(成功銷毀)

成功銷毀之後,會觸發destroyed鉤子,此時該例項與其他例項的關聯已經被清除,它與檢視之間也被解綁。

一旦效用例項的$destroy( )方法銷毀之後,例項與檢視的關係解綁,再修改name的值,已於事無補,檢視再也不會更新了,說明例項成功被銷毀了。

9. actived(啟用階段)

keep-alive元件被啟用的時候呼叫。

10. deactivated(停用階段)

vue例項生命週期

每個 vue 例項在被建立之前都要經過一系列的初始化過程。例如需要設定資料監聽 編譯模板 掛載例項到 dom 在資料變化時更新 dom 等。同時在這個過程中也會執行一些叫做生命週期鉤子的函式,給予使用者機會在一些特定的場景下新增他們自己的 beforecreate 在例項初始化之後,資料觀測和事件配...

Vue例項生命週期

vue例項在建立時有一系列的初始化步驟,例如建立資料觀察,編譯模板,建立資料繫結等。在此過程中,我們可以通過一些定義好的生命週期鉤子函式來執行業務邏輯。本文將詳細介紹vue例項的生命週期 下圖是vue例項生命週期的圖示 接下來,根據提供的生命週期鉤子,對vue例項各個階段的情況進行詳細說明 befo...

Vue 例項的生命週期

在vue中,每個例項都有自己的乙個完整的生命週期,包括開始建立 初始化資料 編譯模板 將例項掛載到dom 渲染 更新 渲染 解除安裝等一系列過程。同時在這個過程中也會執行一些叫做生命週期鉤子的函式,這樣我們就可以在例項生命週期的不同階段做一些需要做的事情。這裡可能會有個小疑惑,怎麼突然又說是vue例...