2022年Vue最常见的面试题以及填空题(面试必问)

网友投稿 1281 2022-10-22

2022年Vue最常见的面试题以及填空题(面试必问)

2022年Vue最常见的面试题以及填空题(面试必问)

一、computed 和 watch 的区别

computed: 是计算属性,依赖其它属性值,并且 computed 的值有缓存,只有它依赖的属性值发生改变,下一次获取 computed 的值时才会重新计算 computed 的值;

watch: 更多的是“观察”的作用,类似于某些数据的监听回调,每当监听的数据变化时都会执行回调进行后续操作;

二、vue-router 路由模式有几种?

vue-router 有 3 种路由模式:hash、history、abstract

各模式的说明如下:

hash: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5 History Api 的浏览器;

history : 依赖 HTML5 History API 和服务器配置。具体可以查看 HTML5 History 模式;

abstract : 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式.

三、vue中为什么data是一个函数

组件的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。如果单纯的写成对象形式,就使得所有组件实例共用了一份data,这样一个实例中更新数据会导致其他实例数据改变。

四、v-if 和 v-show 的区别

v-if 在编译过程中会被转化成三元表达式,条件不满足时不渲染此节点。

v-show 会被编译成指令,条件不满足时控制样式将此节点隐藏

五、请列举几个vue内部指令,并说明其作用(至少五个)

1. v-bind:绑定属性,动态更新HTML元素上的属性。例如 v-bind:class;

2. v-on:用于监听DOM事件。例如 v-on:click v-on:keyup;

3. v-text:更新元素的textContent;

4. v-model:用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值;

5. v-for:循环指令编译出来的结果是 -L 代表渲染列表。优先级比v-if高最好不要一起使用,尽量使用计算属性去解决;

6. v-show:使用指令来实现 -- 最终会通过display来进行显示隐藏;

六、你建不建议v-if和v-for一起使用?为什么?

v-for和v-if不要在同一标签中使用,因为解析时先解析v-for在解析v-if。如果遇到需要同时使用时可以考虑写成计算属性的方式。

七、v-for为什么要加key

v-for遍历时,key是Vue中vnode的唯一标记,通过这个 key,我们的 diff 操作可以更准确、更快速。

更准确是因为带 key时,在sameNode函数进行key值对比中可以避免就地复用的情况。所以会更加准确。

更快速是利用 key 的唯一性生成 map 对象来获取对应节点,比遍历方式更快

八、填空题

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:电商项目架构图
下一篇:轻松链接到React Native中的其他应用程序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~