Vue 3 的组合式 API(Composition API)是 Vue 框架的一次重大革新,它为代码组织和逻辑复用提供了更强大的方式。本文将深入探讨组合式 API 的核心概念和使用方法。
为什么需要组合式 API?
随着组件复杂度增加,选项式 API 的局限性逐渐显现:相关逻辑被分散在不同选项中,难以提取和复用逻辑。组合式 API 通过函数式编程的方式解决了这些问题。
核心概念
组合式 API 的核心是 setup 函数,它在组件实例创建之前执行,返回的属性将暴露给模板。在 setup 中,我们可以使用 ref、reactive 等函数创建响应式状态。
import { ref, reactive, computed, onMounted } from 'vue'
export default {
setup() {
// 响应式状态
const count = ref(0)
const user = reactive({
name: 'John',
age: 30
})
// 计算属性
const doubleCount = computed(() => count.value * 2)
// 方法
function increment() {
count.value++
}
// 生命周期钩子
onMounted(() => {
console.log('组件已挂载')
})
// 返回值会暴露给模板
return {
count,
user,
doubleCount,
increment
}
}
}
使用 <script setup>
Vue 3.2 引入了 <script setup> 语法糖,进一步简化了组合式 API 的使用。在这种语法下,导入的变量和函数会自动暴露给模板,无需显式返回。
阅读更多