当然,以下是关于 Vue 3 的一些常见面试题及其答案:
1. Vue 3 相比 Vue 2 有哪些主要改进?
- 性能提升:Vue 3 在编译时做了更多的优化,比如静态提升(hoisting static nodes)、事件监听缓存等。
- 更好的 TypeScript 支持:Vue 3 从设计之初就考虑了 TypeScript 的支持,提供了更好的类型推断和类型检查。
- 组合式 API (Composition API):引入了
setup
函数和组合式 API,使得逻辑复用更加灵活。 - 更好的 Tree-shaking 支持:Vue 3 的模块化设计使得 Tree-shaking 更加有效,减少了打包后的体积。
- 响应式系统优化:Vue 3 使用了 Proxy 替代 Vue 2 的 Object.defineProperty,提供了更好的性能和更多的功能。
2. 什么是组合式 API (Composition API)?
- 组合式 API 是 Vue 3 引入的一种新的代码组织方式,通过
setup
函数来组织逻辑。它允许开发者将相关的逻辑代码组合在一起,而不是按照选项(如 data、methods、computed 等)进行组织。 - 优点:
- 逻辑复用:通过组合函数(composables)可以更方便地复用逻辑。
- 更好的类型推断:在 TypeScript 中,组合式 API 提供了更好的类型推断。
- 代码组织:对于大型组件,组合式 API 可以使代码更易于阅读和维护。
3. 如何在 Vue 3 中使用组合式 API?
- 基本用法:
<template> <div> <p>{ { count }}</p> <button @click="increment">Increment</button> </div> </template> <script> import { ref } from 'vue' export default { setup() { const count = ref(0) const increment = () => { count.value