Vue3测试题

2022/6/14 Vue

# 1. 关于 Vue 3 新特性

  • 源码使用 TypeScript 构建;
  • 使用静态标记优化了虚拟 DOM 的性能;
  • 响应式系统基于 Proxy 实现,性能进一步提升。

# 2. 关于 Vue 中组件共享数据机制

  • 父组件给子组件传递数据通过属性 props 传递;
  • 嵌套多层的组件传递数据可以通过 provide/inject 实现;
  • 全局数据可以通过 app.config.globalProp 设置;
  • provide/inject 传递的数据没有内置响应式功能,需要自己封装。

# 3. 关于 option 和 composition 两种语法的优缺点

  • option 中的 this 写法不利于 TypeScript 类型推导;
  • composition 语法更有利于 Tree Shaking,有利于优化代码的体积;
  • 一个组件内部 option 和 composition 语法可以混用;
  • script setup 提高了 composition 写法的开发效率。

# 4. 关于虚拟 DOM 的说法

  • 虚拟 DOM 本质就是一个 JavaScript 对象,通过这个对象描述项目组件和标签的继承关系;
  • 虚拟 DOM 是 React 首创;
  • 虚拟 DOM 的核心逻辑就是通过计算两个树的差异去减少 DOM 操作;
  • 虚拟 DOM 可以很方便的支持跨端框架。

# 5. 关于 Vuex

  • vuex 是 Vue 官网推荐的数据管理框架,和 Vue 框架强绑定。vuex 不可以和 React、Angular 框架配合;
  • 项目中组件之间共享的数据可以通过 vuex 实现;
  • vuex 是 Vue 的一个插件,内部通过 install 方法在 Vue 上注册了全局变量用来存储数据;
  • vuex 中的数据本质上就是响应式数据。

# 6. 关于 Vue 中的弹窗组件

  • 弹窗组件的特点之一就是要脱离当前组件,渲染到 body 标签内部;
  • 弹窗类组件由很多类型,有全屏显示内容的 Dialog、Modal,也有只通知部分消息的 Notification;
  • 弹窗类组件 Notification 可以通过 JavaScript 动态创建去使用,实现的难点就是我们动态创建弹窗的虚拟 DOM,手动进行挂载;
  • Vue 的弹窗组件可以使用 slot 进行渲染内容的扩展。
Last Updated: 2023/04/22, 23:39:26
彩虹
周杰伦