vue生命週期

2021-10-12 06:27:06 字數 961 閱讀 6742

vue實列從建立到銷毀的過程,也就是開始建立,初始化資料,編譯模板。掛載dom-渲染,更新-渲染,解除安裝等過程。這就是vue的生命週期。

vue生命週期的作用是什麼

vue所有的功能的實現都是圍繞生命週期進行的,在生命週期的不同階段呼叫對應的鉤子函式,可以實現元件資料管理和dom渲染的功能。

new vue()

載入生命週期函式

呼叫beforecreate(), 這個勾子函式,一般開發不會實現。因為這個函式不能操作vue例項物件,或者操作dom

載入配置項,進行資料偵聽,(methods、data、props、computed)

呼叫created() 這個勾子函式之後,可以操作屬性,也可以操作例項的其他配置項,但是不能操作dom

判斷是否有el配置項,有執行下一步,沒有,等待$mount(el)呼叫,才會執行下一步,否則不執行了。

判斷是否有template

8.1: 有template, 直接編譯template

8.2: 沒有template,取出el的outerhtml當成template進行編譯

呼叫beforemount()

10.使用編譯好的template替換el的outerhtml

呼叫mounted(),這個勾子函式之後,可以操作dom了

(操作dom,不要使用document, 使用ref操作)

當資料發生變化後,dom用了這個資料那麼執行beforeupdate(), beforeupdate指的是dom的更新前

重新渲染dom

在執行updated()

15.如果呼叫$destroy()

16.執行beforedestroy(), 需要在這個勾子函式中,檢查整個例項是否有對外部的引用,會形成閉包,導致之後可以有記憶體洩漏的隱患。所以需要在這個函式中移除引用。

17.例項自身也會移除資料監聽,事件監聽,掛載在自身的子元件。

18.執行destroy()

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...