接上文書以及上上文書
作為三大框架之一,vue自然有它的獨到之處,今天就是來主要說一下vue在面試時會有哪些經(jī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 選項是一個函數(shù)的時候,每個實例可以維護(hù)一份被返回對象的獨立的拷貝,這樣各個實例中的 data 不會相互影響,是獨立的。
3. router 的區(qū)別是什么?(深信服)
a) $router 為 VueRouter 的實例,是一個全局路由對象,包含了路由跳轉(zhuǎn)的方法、鉤子函數(shù)等。
b) $route 是路由信息對象||跳轉(zhuǎn)的路由對象,每一個路由都會有一個 route 對象,是一個局部對象,包含 path,params,hash,query,fullPath,matched,name 等路由信息參數(shù)。