什么是vue的生命周期?
Vue實(shí)例從創(chuàng)建到銷毀的過程,就是生命周期;
從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載dom-->渲染、更新、更新渲染、銷毀等一系列過程,稱之為Vue的生命周期。
vue的聲明周期分為那幾個(gè)階段?
8個(gè)階段,分別是:
- 創(chuàng)建前beforeCreate
- 創(chuàng)建后created
- 掛載前beforeMount
- 掛載后mounted
- 更新前beforeUpdate
- 更新后updated
- 銷毀前beforeDestroy
- 銷毀后destroyed
vue生命周期的作用?
生命周期中有多個(gè)事件鉤子,有利于我們控制整個(gè)vue實(shí)例的過程,形成更好的邏輯
vue有哪些生命周期鉤子函數(shù)?
beforeCreate:
實(shí)例創(chuàng)建之前,在數(shù)據(jù)觀測,初始化事件還未開始created:
實(shí)例創(chuàng)建完成,完成數(shù)據(jù)觀測,屬性和方法的運(yùn)算,初始化事件,此時(shí)$el還沒有顯示出來,可以訪問到data,computed,methods,watchbeforeMount:
在掛載之前被調(diào)用,相關(guān)的render函數(shù)首次被調(diào)用。編譯模板,把data里面的數(shù)據(jù)和模板生成html,還沒有掛載到Dom上mounted:
在el被新創(chuàng)建的vm.$el替換,并掛載到實(shí)例上后調(diào)用。實(shí)例掛載在Dom上,此時(shí)可以通過Dom的api獲取dom節(jié)點(diǎn),$el可以被訪問了beforeUpdate:
響應(yīng)數(shù)據(jù)更新時(shí)調(diào)用,發(fā)生在虛擬dom打補(bǔ)丁之前updated:
虛擬dom重新渲染或打補(bǔ)丁之后調(diào)用,dom已經(jīng)更新,可以進(jìn)行依賴于dom的操作beforeDestroy:
實(shí)例銷毀之前調(diào)用,此時(shí)組件完全可用,可以通過this獲取實(shí)例destroyed:
實(shí)例銷毀后調(diào)用