千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

P15 Vue高頻面試題-3
1、vue-router 實現(xiàn)懶加載
當打包構(gòu)建應(yīng)用時,JavaScript 包會變得非常大,影響頁面加載。如果我們能把不同路由對應(yīng)的組件分割成不同的代碼塊,然后當路由被訪問的時候才加載對應(yīng)組件,這樣就更加高效了。
const Foo = () => import('./Foo.vue')
2、react和vue中diff算法區(qū)別
首先diff算法的處理方法,對操作前后的dom樹同一層的節(jié)點進行對比,一層一層對比,當某一層有很多相同的節(jié)點時,也就是列表節(jié)點時,diff算法的更新過程默認情況下也是遵循以上原則。
vue和react的虛擬DOM的Diff算法大致相同,其核心是基于兩個簡單的假設(shè)
1.vue對比節(jié)點。當節(jié)點元素相同,但是classname不同,則刪除重建,而react認為是同類型節(jié)點,只是修改節(jié)點屬性。
2.vue的列表對比,采用的是兩端到中間比對的方式,而react采用的是從左到右依次對比的方式。當一個集合只是把最后一個節(jié)點移到了第一個,react會把前面的節(jié)點依次移動,而vue只會把最后一個節(jié)點移到第一個??傮w上,vue的方式比較高效。
3、computed和watch的區(qū)別
computed:計算結(jié)果并返回,只有當被計算的屬性發(fā)生改變時才會觸發(fā)(即:計算屬性的結(jié)果會被緩存,除非依賴的響應(yīng)屬性變化才會重新計算)
watch:監(jiān)聽某一個值,當被監(jiān)聽的值發(fā)生變化時,執(zhí)行相關(guān)操作。
與computed的區(qū)別是,watch更加適用于監(jiān)聽某一個值得變化,并做對應(yīng)操作,比如請求后太接口等。而computed適用于計算已有的值并返回結(jié)果。 監(jiān)聽簡單數(shù)據(jù)類型。