接上文书以及上上文书
作为三大框架之一,vue自然有它的独到之处,今天就是来主要说一下vue在面试时会有哪些经常遇到的问题,陷阱之类的注意事项。话不多说,干货送上。
应用篇:
1. Key 的作用是什么?可以用数组的 index(下标)代替么?(美团)
a) key 的作用主要是为了高效的更新虚拟 DOM。另外 vue 中在使用相同标签名元素的过渡切换时,也会使用到 key属性,其目的也是为了让 vue 可以区分它们。否则 vue 只会替换其内部属性而不会触发过渡效果
b) key 不能用 index 代替,index 在同一个页面会有重复的情况,违背了高效渲染的初衷。
2. Vue 组件中 data 为什么必须是函数?(58 同城)
a) 在 new Vue() , data 是 可 以 作 为 一 个 对 象 进 行 操 作 的 , 然 而在 component 中,data 只能以函数的形式存在,不能直接将对象赋值给它。
b) 当 data 选项是一个函数的时候,每个实例可以维护一份被返回对象的独立的拷贝,这样各个实例中的 data 不会相互影响,是独立的。
3. router 的区别是什么?(深信服)
a) $router 为 VueRouter 的实例,是一个全局路由对象,包含了路由跳转的方法、钩子函数等。
b) $route 是路由信息对象||跳转的路由对象,每一个路由都会有一个 route 对象,是一个局部对象,包含 path,params,hash,query,fullPath,matched,name 等路由信息参数。