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