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