每個 vue 例項在被建立時都要經過一系列的初始化過程——例如,需要設定資料監聽、編譯模板、將例項掛載到 dom 並在資料變化時更新 dom 等。同時在這個過程中也會執行一些叫做生命週期鉤子的函式,這給了使用者在不同階段新增自己的**的機會。
new vue(,
created: function ()
})// => "a is: 1"
也有一些其它的鉤子,在例項生命週期的不同階段被呼叫,如 mounted、updated 和 destroyed。生命週期鉤子的this 上下文指向呼叫它的 vue 例項。
不要在選項屬性或**上使用箭頭函式,比如created: () => console.log(this.a) 或vm.$watch('a', newvalue => this.mymethod())。因為箭頭函式並沒有 this,this 會作為變數一直向上級詞法作用域查詢,直至找到為止,經常導致 uncaught typeerror: cannot read property of undefined 或 uncaught typeerror: this.mymethod is not a function 之類的錯誤。
待續。。。
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...