vue3面试题

1、vue2和vue3的区别

(1)vue2和vue3的双向绑定原理不同

vue2采用object.defineProperty的方式实现数据的双向绑定,可以劫持对象属性的setter和getter,

但是对于后添加的属性(删除的属性)是劫持不到的

vue3采用new Proxy()配合reflect的方式实现数据的双休绑定,可以劫持对象属性的setter和getter,即使后添加的属性也能劫持到,不需要循环

(2)vue2中有this.$set,用来解决数据增加,删除等更新操作时,页面不会更新的问题;

(3)vue3是完全响应式,不存在数据增加、删除后,试图不更新的情况,所以不存在this.$set

(4)vue2是选项式api,vue3是组合式api,也可以向下兼容,还可以用setup语法糖api

(5)v-if和v-for的优先级不同

vue2中for大于if;vue3中if大于for

(6)$ref和$children也不同

2、vue3中的mixins混入,写了一些方法,可以在全局或某个组件中使用,混入没有视图,template部分,

3、vue3中的hooks是一个函数式编程的思想,组件中的函数调用这个函数实现某种功能,主要解决的问题是让代码分隔,让功能、模块细分,使用项目的维护性更高,

解决问题:当我们写<script>标签加setup标识时,由于功能比较多,写在一起导致代码可能比较乱,这时候可以考虑把主要功能留在文件中,把一些其他辅助功能封装成hooks函数移出去,引入进来使用。

src下新建hooks文件夹

4、watch和computed的区别

5、vue3常用的响应式数据类型

    ref基本类型的响应式、

    reactive复杂类型的响应式、

    toRef解构某一个值、

    toRefs解构多个值

6、介绍teleport组件(传送门)及其使用场景

    teleport是一个传送门,假如自己写弹出框,需要在页面居中位置展示,不受当前组件的限制,可以把盒子传送到body中 

7、vue3相对于vue2提升了哪些东西

8、vue3的differ算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值