vue3面试题:2022 最新前端 Vue 3.0 面试题及答案(持续更新中……)

262 阅读1分钟

1、 Vue2.0 和 Vue3.0 有什么区别? 响应式系统的重新配置,使用代理替换对象.define属性,使用代理优势: 可直接监控阵列类型的数据变化 监听的目标是对象本身,不需要像Object.defineProperty那样遍历每个属性,有一定的性能提升 可拦截应用、拥有密钥、有等13种方法,以及Object.define属性没有办法 直接添加对象属性/删除 新增组合API,更好的逻辑重用和代码组织 重构虚拟 DOM 模板编译时间优化,将一些静态节点编译成常量 slot优化,采取槽编译成懒人功能,拿槽渲染的决定留给子组件 在模板中提取和重用内联事件(最初,每次渲染时都会重新生成内联函数) 代码结构调整,更方便树摇动,使其更小 使用打字脚本替换流 2、Vue3带来了什么改变? 1.性能的提升 打包大小减少41%

初次渲染快55%, 更新渲染快133%

内存减少54%

......

2.源码的升级 使用Proxy代替defineProperty实现响应式

重写虚拟DOM的实现和Tree-Shaking

......

3.拥抱TypeScript Vue3可以更好的支持TypeScript

4.新的特性 Composition API(组合API)

setup配置

ref与reactive

watch与watchEffect

provide与inject

......

新的内置组件

Fragment

Teleport

Suspense

其他改变

新的生命周期钩子

data 选项应始终被声明为一个函数

移除keyCode支持作为 v-on 的修饰符

......

4.vue3还有哪些其他改变?

data选项应始终被声明为一个函数。

过度类名的更改:

Vue2.x写法

.v-enter, .v-leave-to { opacity: 0; } .v-leave, .v-enter-to { opacity: 1; }