又到了一年一次的面試了,前段時間看到面試題诅需,感覺自己好像只知道怎么做漾唉,卻真的不了解vue,哎堰塌,不得說自己真的能力有限毡证,基礎(chǔ)不結(jié)實,話不多說蔫仙,下面就是自己看到網(wǎng)上vue面試題,找到的答案
1.??vue生命周期是什么丐箩?vue生命周期詳解
vue生命周期是什么摇邦?
Vue生命周期是指vue實例對象從創(chuàng)建之初到銷毀的過程,vue所有功能的實現(xiàn)都是圍繞其生命周期進行的屎勘,在生命周期的不同階段調(diào)用對應(yīng)的鉤子函數(shù)可以實現(xiàn)組件數(shù)據(jù)管理和DOM渲染兩大重要功能施籍。
vue生命周期可以分為八個階段
beforeCreate(創(chuàng)建前)、created(創(chuàng)建后)概漱、
beforeMount(載入前)丑慎、mounted(載入后)、
beforeUpdate(更新前)、updated(更新后)竿裂、
beforeDestroy(銷毀前)玉吁、destroyed(銷毀后)
1、創(chuàng)建前(beforeCreate)
對應(yīng)的鉤子函數(shù)為beforeCreate腻异。此階段為實例初始化之后进副,此時的數(shù)據(jù)觀察和事件機制都未形成,不能獲得DOM節(jié)點悔常。
2影斑、創(chuàng)建后(created)
對應(yīng)的鉤子函數(shù)為created。在這個階段vue實例已經(jīng)創(chuàng)建机打,仍然不能獲取DOM元素矫户。
3、載入前(beforeMount)
對應(yīng)的鉤子函數(shù)是beforemount残邀,在這一階段皆辽,我們雖然依然得不到具體的DOM元素,但vue掛載的根節(jié)點已經(jīng)創(chuàng)建罐旗,下面vue對DOM的操作將圍繞這個根元素繼續(xù)進行膳汪;beforeMount這個階段是過渡性的,一般一個項目只能用到一兩次九秀。
4遗嗽、載入后(mounted)
對應(yīng)的鉤子函數(shù)是mounted。mounted是平時我們使用最多的函數(shù)了鼓蜒,一般我們的異步請求都寫在這里痹换。在這個階段,數(shù)據(jù)和DOM都已被渲染出來都弹。
5娇豫、更新前(beforeUpdate)
對應(yīng)的鉤子函數(shù)是beforeUpdate。在這一階段畅厢,vue遵循數(shù)據(jù)驅(qū)動DOM的原則冯痢;beforeUpdate函數(shù)在數(shù)據(jù)更新后雖然沒立即更新數(shù)據(jù),但是DOM中的數(shù)據(jù)會改變框杜,這是Vue雙向數(shù)據(jù)綁定的作用浦楣。
6、更新后(updated)
對應(yīng)的鉤子函數(shù)是updated咪辱。在這一階段DOM會和更改過的內(nèi)容同步振劳。
7、銷毀前(beforeDestroy)
對應(yīng)的鉤子函數(shù)是beforeDestroy油狂。在上一階段vue已經(jīng)成功的通過數(shù)據(jù)驅(qū)動DOM更新历恐,當(dāng)我們不在需要vue操縱DOM時寸癌,就需要銷毀Vue,也就是清除vue實例與DOM的關(guān)聯(lián)弱贼,調(diào)用destroy方法可以銷毀當(dāng)前組件蒸苇。在銷毀前,會觸發(fā)beforeDestroy鉤子函數(shù)哮洽。
8填渠、銷毀后(destroyed)
對應(yīng)的鉤子函數(shù)是destroyed。在銷毀后鸟辅,會觸發(fā)destroyed鉤子函數(shù)氛什。
vue的生命周期的思想貫穿在組件開發(fā)的始終,通過熟悉其生命周期調(diào)用不同的鉤子函數(shù)匪凉,我們可以準(zhǔn)確地控制數(shù)據(jù)流和其對DOM的影響枪眉;vue生命周期的思想是Vnode和MVVM的生動體現(xiàn)和繼承。
參考地址:https://www.php.cn/js-tutorial-412302.html
2. 第一次頁面加載會觸發(fā)哪幾個鉤子
(1)根實例的加載相關(guān)的生命周期(beforeCreate再层、created贸铜、beforeMount、mounted)
(2)組件實例的加載相關(guān)的生命周期(beforeCreate聂受、created蒿秦、beforeMount、mounted)
(3)全局路由勾子(router.beforeEach)
(4)組件路由勾子(beforeRouteEnter)
(5)組件路由勾子的next里的回調(diào)(beforeRouteEnter)
(6)指令的周期(bind,inserted)
(7)nextTick方法的回調(diào)
參考地址:https://blog.csdn.net/luo_tianhong/article/details/79552721