1、beforeCreate
官方描述:在實(shí)例初始化之后,數(shù)據(jù)觀測(cè)(data observer) 和 event/watcher 事件配置之前被調(diào)用
理解:頁(yè)面還未創(chuàng)建,this、data、method、watch這些中的元素或則方法并未出現(xiàn),不能進(jìn)行調(diào)用
2、created
官方描述:在實(shí)例創(chuàng)建完成后被立即調(diào)用。在這一步,實(shí)例已完成以下的配置:數(shù)據(jù)觀測(cè) (data observer),property 和方法的運(yùn)算,watch/event 事件回調(diào)。然而,掛載階段還沒(méi)開(kāi)始,$el?property 目前尚不可用
理解:可以進(jìn)行this、data、method以及watch的配置,可以調(diào)用元素進(jìn)行數(shù)據(jù)處理,但是頁(yè)面并未渲染完成(數(shù)據(jù)并未填入)
3、beforeMounte
官方描述:在掛載開(kāi)始之前被調(diào)用:相關(guān)的?render?函數(shù)首次被調(diào)用
該鉤子在服務(wù)器端渲染期間不被調(diào)用
理解:頁(yè)面中的虛擬dom創(chuàng)建完成,可以使用createElement創(chuàng)建虛擬的dom元素
4、mounted
官方描述:實(shí)例被掛載后調(diào)用,這時(shí)?el?被新創(chuàng)建的?vm.$el?替換了。如果根實(shí)例掛載到了一個(gè)文檔內(nèi)的元素上,當(dāng)?mounted?被調(diào)用時(shí)?vm.$el?也在文檔內(nèi)。
注意?mounted?不會(huì)保證所有的子組件也都一起被掛載。如果你希望等到整個(gè)視圖都渲染完畢,可以在?mounted?內(nèi)部使用?vm.$nextTick
理解:dom元素掛載完畢,可以對(duì)頁(yè)面上的dom元素進(jìn)行操作,頁(yè)面上出現(xiàn)數(shù)據(jù)
vm.$nextTick:
官方描述:?將回調(diào)延遲到下次 DOM 更新循環(huán)之后執(zhí)行。在修改數(shù)據(jù)之后立即使用它,然后等待 DOM 更新。它跟全局方法?Vue.nextTick?一樣,不同的是回調(diào)的?this?自動(dòng)綁定到調(diào)用它的實(shí)例上
理解:當(dāng)回調(diào)中的賦值失敗時(shí)使用,因?yàn)榕紶柣卣{(diào)的時(shí)候掛載還未完成,導(dǎo)致數(shù)據(jù)無(wú)效
this.$nextTick(function(){
? ? ? ? // DOM 現(xiàn)在更新了 進(jìn)行數(shù)據(jù)操作
})
5、beforeUpdate
官方描述:?數(shù)據(jù)更新時(shí)調(diào)用,發(fā)生在虛擬 DOM 打補(bǔ)丁之前。這里適合在更新之前訪問(wèn)現(xiàn)有的 DOM,比如手動(dòng)移除已添加的事件監(jiān)聽(tīng)器。
該鉤子在服務(wù)器端渲染期間不被調(diào)用,因?yàn)橹挥谐醮武秩緯?huì)在服務(wù)端進(jìn)行。
理解:beforeupdate是在更新數(shù)據(jù)之后,還沒(méi)有渲染的時(shí)候執(zhí)行的,這時(shí)候不能操作數(shù)據(jù)和虛擬DOM,否則會(huì)造成死循環(huán)重復(fù)執(zhí)行,因?yàn)槟阒貜?fù)了更新數(shù)據(jù)的過(guò)程
6、updated
官方描述:由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補(bǔ)丁,在這之后會(huì)調(diào)用該鉤子。
當(dāng)這個(gè)鉤子被調(diào)用時(shí),組件 DOM 已經(jīng)更新,所以你現(xiàn)在可以執(zhí)行依賴于 DOM 的操作。然而在大多數(shù)情況下,你應(yīng)該避免在此期間更改狀態(tài)。如果要相應(yīng)狀態(tài)改變,通常最好使用計(jì)算屬性或?watcher?取而代之。
注意?updated?不會(huì)保證所有的子組件也都一起被重繪。如果你希望等到整個(gè)視圖都重繪完畢,可以在?updated?里使用?vm.$nextTick
理解:執(zhí)行updated的時(shí)候必須是data中聲明過(guò)的數(shù)據(jù),頁(yè)面的dom更新完畢;不能監(jiān)聽(tīng)到路由數(shù)據(jù)(例如網(wǎng)址中的參數(shù));所有的數(shù)據(jù)發(fā)生變化都會(huì)調(diào)用(消耗性能);每次觸發(fā)的代碼都是同一個(gè)
7、beforeDestroy
官方描述:實(shí)例銷毀之前調(diào)用。在這一步,實(shí)例仍然完全可用。
該鉤子在服務(wù)器端渲染期間不被調(diào)用。
8、destroyed:
官方描述:實(shí)例銷毀后調(diào)用。該鉤子被調(diào)用后,對(duì)應(yīng) Vue 實(shí)例的所有指令都被解綁,所有的事件監(jiān)聽(tīng)器被移除,所有的子實(shí)例也都被銷毀。
該鉤子在服務(wù)器端渲染期間不被調(diào)用。