Vue 生命週期

2021-10-04 09:03:35 字數 1526 閱讀 7771

元件從建立到銷毀的一系列過程叫做元件的宣告週期。

vue在整個生命週期裡面提供了一些函式,可以在內部實現一些業務邏輯,

並且這些函式會在一些特定的場合下去執行。(在生命週期的某乙個時刻進行觸發)

元件的生命週期鉤子函式大致可以分為三個階段:初始化、執行中、銷毀

初始化階段: beforecreate created beforemount mounted

執行中階段: beforeupdate updated

銷毀階段: beforedestroy destroyed

1.乙個元件或者例項的生命週期都是通過new開始的

2.例項化之後,內部會做一些初始化事件與生命週期相關的配置

vue.

component

("my-component",}

,

3.這個鉤子函式初始化的時候立馬執行,此鉤子函式裡面是獲取不到資料的

同時頁面中的真實dom節點也沒有掛載出來,null

beforecreate()

,

4.created鉤子函式內部的資料已經被掛載了,但是真實dom節點還是沒有渲染出來

在這個鉤子函式裡面,如果同步的去更改資料的話,執行中鉤子函式是不會執行的。

通常會在此鉤子函式裡面進入ajax的非同步操作,另外還可以做一些初始化事件的繫結

created()

,

5.接下來的過程,就是元件或者例項去查詢各自的模板,讓後將其編譯成虛擬dom,即將放入render函式中做初始化渲染的操作。

6.beforemount代表dom馬上就要被渲染出來了,但是還沒有真正的在頁面中渲染出來

此鉤子函式與created鉤子函式基本一致,可以做ajax與初始化事件的繫結操作

beforemount()

,

生成好了虛擬dom,然後在render函式裡面替換對應的el,渲染成真實dom節點

相當於在render函式裡面做了乙個初始化渲染的操作

7.mounted鉤子函式是初始化階段的最後乙個鉤子函式

資料已經掛載完畢了,真實的dom也已經渲染出來了

這個鉤子函式可以用來做一些例項化的相關操作 ===> 拖拽

mounted()

,

8.執行時鉤子函式初始化階段是不會主動執行的,只有dom掛載完畢了,然後再去當資料發生變化的時候,beforeupdate這個鉤子函式才會執行

beforeupdate()

})

9.這個鉤子函式裡面函式dom獲取的資料內容是更新後的內容

beforedestroy

10.beforedestroy鉤子函式在例項銷毀之前呼叫。在這一步,例項仍然完全可用。

destroyed

11.destroyed鉤子函式在vue 例項銷毀後呼叫。呼叫後,vue 例項指示的所有東西都會解繫結,所有的事件***會被移除,所有的子例項也會被銷毀。

vue生命週期

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

vue生命週期

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

Vue 生命週期

import vue from vue el root 沒有的話,使用render,繼續沒有,就把el的outerhtml編譯成模板 template temp data beforecreate created el是原來的el beforemount 渲染函式 render h this.tex...