“约见”面试官系列之常见面试题之第八十八篇之什么是vue生命周期(建议收藏)
我們知道vue是一個構(gòu)建數(shù)據(jù)驅(qū)動的 web 界面的漸進式框架,那么vue生命周期是什么呢?本篇文章就給大家來介紹一下vue生命周期的內(nèi)容,希望可以幫助到有需要的朋友。
vue生命周期是什么?
Vue生命周期是指vue實例對象從創(chuàng)建之初到銷毀的過程,vue所有功能的實現(xiàn)都是圍繞其生命周期進行的,在生命周期的不同階段調(diào)用對應的鉤子函數(shù)可以實現(xiàn)組件數(shù)據(jù)管理和DOM渲染兩大重要功能。
我們來看一下官網(wǎng)給的vue生命周期的圖:
我們接下來就來詳細看看這個vue生命周期圖
從上面這幅圖中,我們可以看到vue生命周期可以分為八個階段,分別是:
beforeCreate(創(chuàng)建前)、created(創(chuàng)建后)、beforeMount(載入前)、mounted(載入后)、beforeUpdate(更新前)、updated(更新后)、beforeDestroy(銷毀前)、destroyed(銷毀后)
下面我們就來分別看看vue生命周期的這八個階段:
1、創(chuàng)建前(beforeCreate)
對應的鉤子函數(shù)為beforeCreate。此階段為實例初始化之后,此時的數(shù)據(jù)觀察和事件機制都未形成,不能獲得DOM節(jié)點。
2、創(chuàng)建后(created)
對應的鉤子函數(shù)為created。在這個階段vue實例已經(jīng)創(chuàng)建,仍然不能獲取DOM元素。
3、載入前(beforeMount)
對應的鉤子函數(shù)是beforemount,在這一階段,我們雖然依然得不到具體的DOM元素,但vue掛載的根節(jié)點已經(jīng)創(chuàng)建,下面vue對DOM的操作將圍繞這個根元素繼續(xù)進行;beforeMount這個階段是過渡性的,一般一個項目只能用到一兩次。
4、載入后(mounted)
對應的鉤子函數(shù)是mounted。mounted是平時我們使用最多的函數(shù)了,一般我們的異步請求都寫在這里。在這個階段,數(shù)據(jù)和DOM都已被渲染出來。
5、更新前(beforeUpdate)
對應的鉤子函數(shù)是beforeUpdate。在這一階段,vue遵循數(shù)據(jù)驅(qū)動DOM的原則;beforeUpdate函數(shù)在數(shù)據(jù)更新后雖然沒立即更新數(shù)據(jù),但是DOM中的數(shù)據(jù)會改變,這是Vue雙向數(shù)據(jù)綁定的作用。
6、更新后(updated)
對應的鉤子函數(shù)是updated。在這一階段DOM會和更改過的內(nèi)容同步。
7、銷毀前(beforeDestroy)
對應的鉤子函數(shù)是beforeDestroy。在上一階段vue已經(jīng)成功的通過數(shù)據(jù)驅(qū)動DOM更新,當我們不在需要vue操縱DOM時,就需要銷毀Vue,也就是清除vue實例與DOM的關(guān)聯(lián),調(diào)用destroy方法可以銷毀當前組件。在銷毀前,會觸發(fā)beforeDestroy鉤子函數(shù)。
8、銷毀后(destroyed)
對應的鉤子函數(shù)是destroyed。在銷毀后,會觸發(fā)destroyed鉤子函數(shù)。
vue的生命周期的思想貫穿在組件開發(fā)的始終,通過熟悉其生命周期調(diào)用不同的鉤子函數(shù),我們可以準確地控制數(shù)據(jù)流和其對DOM的影響;vue生命周期的思想是Vnode和MVVM的生動體現(xiàn)和繼承。
本面試題為前端常考面試題,后續(xù)有機會繼續(xù)完善。我是歌謠,一個沉迷于故事的講述者。
歡迎一起私信交流。
“睡服“面試官系列之各系列目錄匯總(建議學習收藏)?
總結(jié)
以上是生活随笔為你收集整理的“约见”面试官系列之常见面试题之第八十八篇之什么是vue生命周期(建议收藏)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IGS精密星历及其下载(自PureSky
- 下一篇: 前端学习(2053)vue之电商管理系统