Vue 3 引入了一個強大的新功能——Composition API,這是 Vue 3 其中一個最令人矚目的改變。相比於 Vue 2 的 Options API,Composition API 提供了更靈活、可組合性更強的方式來管理組件的邏輯和狀態,特別是在大型應用中,這種變革尤為重要。
Composition API 是一組基於函數的 API,它允許你將組件的邏輯按功能組合成單個函數並在組件中重複使用。這與 Vue 2 中的 Options API(如 data、methods、computed 等)不同,Composition API 通過簡單的函數來管理狀態和行為。
最核心的組成部分包括 setup 函數,這是每個 Vue 3 組件中使用 Composition API 的起點。
1.setup 函數
setup 函數是 Composition API 的核心,它是在組件創建之前調用的。組件中的數據、方法、計算屬性和監聽器都可以在這裡定義。
<script setup>
import { ref } from 'vue';
const message = ref('Hello World');
function updateMessage() {
message.value = 'Hello Vue 3 with Composition API';
}
</script>
<template>
<div>
<p>{{ message }}</p>
<button @click="updateMessage">Update Message</button>
</div>
</template>
2.響應式數據
在 Composition API 中,使用 ref 和 reactive 創建響應式數據。ref 用於處理基本數據類型,而 reactive 用於處理對象。
3.計算屬性
Composition API 使用 computed 函數來創建計算屬性,這與 Vue 2 中的 computed 屬性一致,但寫法更為靈活。
import { computed } from 'vue';
const count = ref(0);
const doubleCount = computed(() => count.value * 2);
Composition API 讓我們能夠更靈活地構建 Vue 組件,提供了更強大的組合能力和更好的可維護性。對於大型應用和 TypeScript 用戶來說,Composition API 是非常有價值的改進。