一、【必会】vue.js常见面试题
- css只在当前组件起作用
答: 在style标签中写入scoped即可
例如:<style scoped></style>
- v-if 和 v-show 的区别
答:v-if 按照条件是否渲染,v-show 是display的block或none; - $route 和 $router 的区别
$route是“路由信息对象”,包括path,params,query,hash,fullPath,matched,name等路由信息参数。
$router是“路由实例”对象包括了路由的跳转方式,钩子函数等。 - vue.js的两个核心是什么?
答:数据驱动、组件系统 - vue几种常见的指令
答: v-for、v-if、v-show、v-on、v-bind、v-else - vue常见的修饰符?
答:.prevent:提交事件不再重载页面;
.stop:阻止单击事件冒泡;
.self:当事件发生在该元素本事而不是子元素的时候会触发;
.capture:事件侦听,事件发生的时候会调用 - v-on 可以绑定多个方法吗?
答:可以 - vue中 key 值的作用?
答:当Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用“就地复用”策略。如果数据项的顺序被改变,Vue将不会移动DOM元素来匹配数据项的顺序,而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。key的作用主要是为了高效的更新虚拟DOM。 - 什么是vue的计算属性?
答: 在模板中放入大多的逻辑会让模板过重且难以维护,在需要对数据进行复制处理,且可能多次使用的情况下,尽量采取计算属性的方式。 好处:
①、使得数据处理结果清晰;
②、依赖于数据,数据更新,处理结果自动更新;
③、计算属性内部this指向VM实例
④、在template调用时,直接写计算属性名即可;
⑤、常用的是getter方法,获取数据,也可以使用set方法改变数据;
⑥、相当于methods,不管依赖的数据变不变,methods都会重新计算,但是依赖数据不变的时候computed从缓存中获取,不会重新计算。 - vue等单页面应用及其优缺点
优点: Vue的目标是通过尽可能简单的 API 实现响应式的数据绑定和组合的视图组件,核心是一个响应的数据绑定系统。 MVVM、数据驱动、组件化、轻量、简洁、高效、快速、模块友好。
缺点: 不支持低版本的浏览器,最低只支持到 IE9; 不利于SEO的优化;第一次加载首页耗时相对长一些;不可以使用浏览器的导航按钮需要自行实现前进、后退。 - 怎么定义 vue-router 的动态路由?怎么获取传过来的值
答: 在router目录下的 index.js 文件中,对 path 属性加上 /:id,使用 router 对象的 params.id 获取。