摘要:和下面手動調(diào)用在控制臺中輸入在這個階段會銷毀實例,生命周期結(jié)束。外部實例中的函數(shù)顯示的效果參考鏈接組件的生命周期詳解生命周期
為什么要認(rèn)識Vue的生命周期
Vue的生命周期是一個非常重要的點,如果不懂Vue的生命周期,那么很多時候,就不知道Vue的實際渲染時機(jī),程序中會出現(xiàn)各種bug。
因此,學(xué)習(xí)Vue的生命周期是非常用必要的。
簡單認(rèn)識生命周期 前期準(zhǔn)備下面我們來畫一個簡單的生命周期圖:
new Vue() || || || 初始化event和watch || ||=====> beforeCreate || 屬性、方法、數(shù)據(jù)等內(nèi)容的計算 || ||=====> created || 存在el選項 || || || 不存在template選項 || ||=====> beforeMount || 創(chuàng)建vm.$el替換el選項 || ||=====> mounted || 當(dāng)內(nèi)容發(fā)生更新 || ||=====> beforeUpdate || 虛擬DOM重新渲染 || ||=====> updated || 調(diào)用vm.$destroy() || ||=====> beforeDestroy || 卸載watcher、子組件和事件監(jiān)聽=====> destroyed
生命周期圖完成之后,根據(jù)這張圖來寫對應(yīng)的代碼:
從頭到尾看生命周期vue生命周期學(xué)習(xí) {{message}}
- {{item}}
運(yùn)行上面的程序,會在控制臺中看到前四個生命周期鉤子:
1.beforeCreate
在這個階段,Vue實例中的事件監(jiān)聽和watch都已經(jīng)初始化完成了。如果在Vue實例中寫一個watch,就可以清晰的看出來了。
2.created
在這個階段,Vue實例中的data、methods等內(nèi)容都已經(jīng)初始化完成了。
3.beforeMount
這個階段會進(jìn)行模板的渲染,把HTML結(jié)構(gòu)渲染出來,但是Vue實例中的數(shù)據(jù)沒有渲染到DOM中。
4.mounted
在這個階段,el被新創(chuàng)建的vm.$el替換,并掛在到實例上去之后調(diào)用該鉤子函數(shù)。這個時候,Vue實例中的data會被渲染到DOM中。
5.beforeUpdate和updated
下面,手動更新數(shù)據(jù),來調(diào)用其他的鉤子函數(shù)。
// 在控制臺宏輸入 vm.message="123"
在這個階段,會更新數(shù)據(jù),并重新渲染DOM和虛擬DOM。
6.beforeDestroy和destroyed
下面手動調(diào)用:
// 在控制臺中輸入 vm.$destroy()
在這個階段會銷毀Vue實例,生命周期結(jié)束。
Vue實例中的template Vue實例中不存在template如果Vue中不存在template選項,那么會把外部的HTML作為template進(jìn)行渲染。
外部HTML : {{message}}
顯示的效果:
Vue實例中存在template如果Vue實例中存在template,那么就會優(yōu)先使用Vue實例中的template作為模板進(jìn)行渲染。
外部HTML : {{message}}
顯示的效果:
Vue實例中存在render函數(shù)但是render函數(shù)更接近底層渲染機(jī)制,因此,存在render函數(shù)的話,render函數(shù)的優(yōu)先級最高。
外部HTML : {{message}}
顯示的效果:
參考鏈接vue組件的生命周期
詳解vue生命周期
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/88947.html
摘要:注意看下此時還是沒有選項鉤子函數(shù)和間的生命周期在這一階段發(fā)生的事情還是比較多的。鉤子函數(shù)和鉤子函數(shù)間的生命周期當(dāng)發(fā)現(xiàn)中的數(shù)據(jù)發(fā)生了改變,會觸發(fā)對應(yīng)組件的重新渲染,先后調(diào)用和鉤子函數(shù)。 首先,每個Vue實例在被創(chuàng)建之前都要經(jīng)過一系列的初始化過程,這個過程就是vue的生命周期。首先看一張圖吧~這是官方文檔上的圖片相信大家一定都會很熟悉: showImg(https://segmentfau...
摘要:實例在文檔中經(jīng)常會使用這個變量名表示實例,在實例化時,需要傳入一個選項對象,它可以包含數(shù)據(jù)模板掛載元素方法生命周期鉤子等選項。通俗說就是實例從創(chuàng)建到銷毀的過程,就是生命周期。 Vue 實例中的生命周期鉤子 Vue 框架的入口就是 Vue 實例,其實就是框架中的 view model ,它包含頁面中的業(yè)務(wù)處理邏輯、數(shù)據(jù)模型等,它的生命周期中有多個事件鉤子,讓我們在控制整個Vue實例的過程...
摘要:前言用也有一段時間了發(fā)現(xiàn)生命周期是很重要的一部分稍微懂得了一些東西特地來分享一下生命周期和鉤子函數(shù)介紹啥也不說先上圖圖為生命周期圖圖為生命周期圖圖為和鉤子函數(shù)比較重點看生命周期和鉤子函數(shù)具體上代碼自己粘走執(zhí)行創(chuàng)建前狀態(tài)創(chuàng)建完畢狀態(tài) 前言 用Vue也有一段時間了,發(fā)現(xiàn)生命周期是很重要的一部分,稍微懂得了一些東西,特地來分享一下. 生命周期和鉤子函數(shù)-介紹 啥也不說先上圖圖-1為 Vue...
閱讀 2225·2021-09-30 09:47
閱讀 985·2021-08-27 13:01
閱讀 2971·2019-08-30 15:54
閱讀 3695·2019-08-30 15:53
閱讀 835·2019-08-29 14:07
閱讀 725·2019-08-28 18:16
閱讀 811·2019-08-26 18:37
閱讀 1420·2019-08-26 13:27