Vue中有哪些生命週期及使用場景

2021-10-05 01:45:30 字數 1001 閱讀 4409

在vue中分為8個階段:建立前/後,載入前/後,更新前/後,銷毀前/後。

1、beforecreate(建立前)

在資料觀測和初始化事件還未開始。

2、created(建立後)

完成資料觀測,屬性和方法的運算,初始化事件,$el屬性還沒有顯示出來。

3、beforemount(載入前)

4、mounted(載入後)

在el 被新建立的 vm.$el 替換,並掛載到例項上去之後呼叫。例項已完成以下的配置:用上面編譯好的html內容替換el屬性指向的dom物件。完成模板中的html渲染到html頁面中。此過程中進行ajax互動。

5、beforeupdate(更新前)

在資料更新之前呼叫,發生在虛擬dom重新渲染和打補丁之前。可以在該鉤子中進一步地更改狀態,不會觸發附加的重渲染過程。

6、updated(更新後)

在由於資料更改導致的虛擬dom重新渲染和打補丁之後呼叫。呼叫時,元件dom已經更新,所以可以執行依賴於dom的操作。然而在大多數情況下,應該避免在此期間更改狀態,因為這可能會導致更新無限迴圈。該鉤子在伺服器端渲染期間不被呼叫。

7、beforedestroy(銷毀前)

在例項銷毀之前呼叫。例項仍然完全可用。

8、destroyed(銷毀後)

在例項銷毀之後呼叫。呼叫後,所有的事件***會被移除,所有的子例項也會被銷毀。該鉤子在伺服器端渲染期間不被呼叫。

created:進行ajax請求非同步資料的獲取、初始化資料

mounted:掛載元素dom節點的獲取

nexttick:針對單一事件更新資料後立即操作dom

updated:任何資料的更新,如果要做統一的業務邏輯處理

watch:監聽資料變化,並做相應的處理

vue的生命週期及使用場景

此時還訪問不到data中的屬性以及methods中的屬性和方法,可以在當前生命週期建立乙個loading事件,在頁面載入完成之後將loading移除。當前生命週期執行的時候會遍歷data中所有的屬性,給每乙個屬性都新增乙個getter setter方法,將data中的屬性變成乙個響應式屬性 當前生命...

vue生命週期

beforecreate 元件例項剛剛被建立,屬性都沒有 create 例項已經建立完成,屬性已經繫結 beforemount 模板編譯之前 mounted 模板編譯之後 beforeupdate 元件更新之前 updated 元件更新完畢 beforedestroy 元件銷毀之前 destroye...

vue生命週期

vue把整個生命週期劃分為建立 掛載 更新 銷毀等階段,每個階段都會給一些 鉤子 讓我們來做一些我們想實現的動作。學習例項的生命週期,能幫助我們理解vue例項的運作機制,更好地合理利用各個鉤子來完成我們的業務 我們分別來看看這幾個階段 1.beforecreate 此階段為例項初始化之後,此時的資料...