接上文書以及上上文書
作為三大框架之一,vue自然有它的獨(dú)到之處舆绎,今天就是來主要說一下vue在面試時會有哪些經(jīng)常遇到的問題,陷阱之類的注意事項(xiàng)们颜。話不多說吕朵,干貨送上。
應(yīng)用篇:
1. Key 的作用是什么窥突?可以用數(shù)組的 index(下標(biāo))代替么努溃?(美團(tuán))
a) key 的作用主要是為了高效的更新虛擬 DOM。另外 vue 中在使用相同標(biāo)簽名元素的過渡切換時阻问,也會使用到 key屬性梧税,其目的也是為了讓 vue 可以區(qū)分它們。否則 vue 只會替換其內(nèi)部屬性而不會觸發(fā)過渡效果
b) key 不能用 index 代替,index 在同一個頁面會有重復(fù)的情況第队,違背了高效渲染的初衷哮塞。
2. Vue 組件中 data 為什么必須是函數(shù)?(58 同城)
a) 在 new Vue() 凳谦, data 是 可 以 作 為 一 個 對 象 進(jìn) 行 操 作 的 忆畅, 然 而在 component 中,data 只能以函數(shù)的形式存在尸执,不能直接將對象賦值給它邻眷。
b) 當(dāng) data 選項(xiàng)是一個函數(shù)的時候,每個實(shí)例可以維護(hù)一份被返回對象的獨(dú)立的拷貝剔交,這樣各個實(shí)例中的 data 不會相互影響,是獨(dú)立的改衩。
3. router 的區(qū)別是什么岖常?(深信服)
a) $router 為 VueRouter 的實(shí)例,是一個全局路由對象葫督,包含了路由跳轉(zhuǎn)的方法竭鞍、鉤子函數(shù)等。
b) $route 是路由信息對象||跳轉(zhuǎn)的路由對象橄镜,每一個路由都會有一個 route 對象偎快,是一個局部對象,包含 path洽胶,params晒夹,hash,query姊氓,fullPath丐怯,matched,name 等路由信息參數(shù)翔横。