Vue生命周期中的八個(gè)鉤子函數(shù)相機(jī)
1、beforeCreate和created函數(shù)
beforeCreate和created以初始化:數(shù)據(jù)監(jiān)測(cè)、數(shù)據(jù)代理為分界線。
在執(zhí)行beforeCreate()之前,將初始化生命周期、時(shí)間,但數(shù)據(jù)代理還沒(méi)有開(kāi)始。
(1)beforeCreate():在初始化數(shù)據(jù)監(jiān)測(cè)、數(shù)據(jù)代理之前執(zhí)行beforeCreate函數(shù)中的內(nèi)容。此時(shí),無(wú)法通過(guò)Vm訪問(wèn)到data中的數(shù)據(jù)、methods中的方法
(2)created():在初始化數(shù)據(jù)監(jiān)測(cè)、數(shù)據(jù)代理之后執(zhí)行beforeCreate函數(shù)中的內(nèi)容。此時(shí)可以通過(guò)vm訪問(wèn)到data中的數(shù)據(jù)、methods中配置的方法
在數(shù)據(jù)掛載之前還有一個(gè)步驟,那就是Vue解析模板的過(guò)程(生成虛擬DOM),頁(yè)面還不能顯示解析好的內(nèi)容。
2、beforeMount和mounted函數(shù)
(3)beforeMount():在Vue完成虛擬DOM的生成之后,在將虛擬DOM轉(zhuǎn)換為真實(shí)DOM之前執(zhí)行。此時(shí),頁(yè)面呈現(xiàn)的是未經(jīng)Vue編譯的DOM結(jié)構(gòu),所有對(duì)DOM的操作,最終都不奏效。
(4)mounted():在將虛擬DOM轉(zhuǎn)換為真實(shí)DOM之后執(zhí)行。此時(shí),頁(yè)面中呈現(xiàn)的是經(jīng)過(guò)Vue編譯的DOM,對(duì)DOM的操作均有效(盡可能避免)。至此初始化過(guò)程結(jié)束,一般在此進(jìn)行:開(kāi)啟定時(shí)器、發(fā)送網(wǎng)絡(luò)請(qǐng)求、訂閱消息、綁定自定義事件等初始化操作
3、beforeUpdate和updated函數(shù)
(5)beforeUpdate():在數(shù)據(jù)發(fā)生變化時(shí),生成新的虛擬DOM,隨后與舊的虛擬DOM進(jìn)行比較,最終完成頁(yè)面更新(Model-》View)的過(guò)程之前執(zhí)行。此時(shí),數(shù)據(jù)是新的,但頁(yè)面是舊的,即,頁(yè)面尚未和數(shù)據(jù)保持同步
(6)updated():在數(shù)據(jù)發(fā)生變化時(shí),生成新的虛擬DOM,隨后與舊的虛擬DOM進(jìn)行比較,最終完成頁(yè)面更新(Model-》View)的過(guò)程之后執(zhí)行。此時(shí),數(shù)據(jù)是新的,頁(yè)面也是新的,即,頁(yè)面和數(shù)據(jù)保持同步
4、beforeDestroy和destroyed函數(shù)
(7)beforeDestroy():在移除數(shù)據(jù)監(jiān)視、子級(jí)元素、事件監(jiān)聽(tīng)之前執(zhí)行。此時(shí),vm中所有的data、methods、指令等都處于可用狀態(tài),馬上要執(zhí)行銷毀過(guò)程,一般在此階段:關(guān)閉定時(shí)器、取消訂閱消息、解綁自定義事件等收尾操作。此時(shí)所有東西都可訪問(wèn)到,但是執(zhí)行操作,頁(yè)面上的內(nèi)容不會(huì)發(fā)生改變
(8)destroyed():在移除數(shù)據(jù)監(jiān)視、子級(jí)元素、事件監(jiān)聽(tīng)之后執(zhí)行。解除與頁(yè)面上data、methods、指令等的綁定。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
解決vue 按鈕多次點(diǎn)擊重復(fù)提交數(shù)據(jù)問(wèn)題
這篇文章主要介紹了vue 按鈕多次點(diǎn)擊重復(fù)提交數(shù)據(jù)的問(wèn)題,本文通過(guò)實(shí)例結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2018-05-05
詳解vue服務(wù)端渲染瀏覽器端緩存(keep-alive)
在使用服務(wù)器端渲染時(shí),除了服務(wù)端的接口緩存、頁(yè)面緩存、組建緩存等,瀏覽器端也避免不了要使用緩存,減少頁(yè)面的重繪。這篇文章主要介紹了詳解vue服務(wù)端渲染瀏覽器端緩存(keep-alive),感興趣的小伙伴們可以參考一下2018-10-10
vue項(xiàng)目中路由懶加載的三種方式(簡(jiǎn)潔易懂)
本文主要介紹了vue項(xiàng)目中路由懶加載的三種方式,主要包括vue異步組件,組件懶加載,webpack的require.ensure(),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
詳解使用Vue Router導(dǎo)航鉤子與Vuex來(lái)實(shí)現(xiàn)后退狀態(tài)保存
本篇文章主要介紹了詳解使用Vue Router導(dǎo)航鉤子與Vuex來(lái)實(shí)現(xiàn)后退狀態(tài)保存,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09

