文章目录
- 一、什么是组合式 API?
- 二、为什么要有组合式 API?
- 1、更好的逻辑复用
- 2、更灵活的代码组织
- 3、更小的生产包体积
- 三、与选项式 API 的关系
- 1、取舍
- 2、组合式 API 是否覆盖了所有场景?
- 3、可以在同一个组件中使用两种 API 吗?
- 4、选项式 API 会被废弃吗?
- 四、与 Class API 的关系
一、什么是组合式 API?
组合式 API (Composition API) 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。它是一个概括性的术语,涵盖了以下方面的 API:
- 响应式 API:例如 ref() 和 reactive(),使我们可以直接创建响应式状态、计算属性和侦听器。
- 生命周期钩子:例如 onMounted() 和 onUnmounted(),使我们可以在组件各个生命周期阶段添加逻辑。
- 依赖注入:例如 provide() 和 inject(),使我们可以在使用响应式 API 时,利用 Vue 的依赖注入系统。
组合式 API 是 Vue 3 及 Vue 2.7 的内置功能。对于更老的 Vue 2 版本,可以使用官方维护的插件 @vue/composition-api。在 Vue 3 中,组合式 API 基本上都会配合<script setup>
语法在单文件组件中使用。下面是一个使用组合式 API 的组件示例:
<script setup>
import { ref, onMounted } from 'vue'// 响应式状态
const count = ref(0)// 更改状态、触发更新的函数
function increment() {coun