Vue 3.0 引入了 Composition API,这是对 Vue 2.0 中使用的 Options API 的一个补充。Composition API 提供了一种更灵活的方式来组织和重用组件逻辑,而 Options API 则更倾向于在组件实例中直接定义和操作数据和逻辑。
区别说明:
setup
?函数和?ref
、reactive
?等 API,使得逻辑更加模块化,更容易在其他地方重用。methods
、computed
?等选项中定义逻辑,这使得这些逻辑与特定的模板紧密耦合。而 Composition API 通过将逻辑抽取到?setup
?函数中,使得模板和逻辑分离,逻辑可以在多个组件之间复用。data
、methods
、computed
?等选项中声明数据和方法。而在 Composition API 中,我们使用?ref
、reactive
?等 API 来声明响应式的数据,使用?computed
?API 来声明计算属性。代码示例:
Options API (Vue 2.x):
export default {
data() {
return {
count: 0,
};
},
methods: {
increment() {
this.count++;
},
},
computed: {
doubleCount() {
return this.count * 2;
},
},
};
Composition API (Vue 3.x):
import { ref, computed } from 'vue';
export default {
setup() {
const count = ref(0);
const increment = () => {
count.value++;
};
const doubleCount = computed(() => count.value * 2);
return { count, increment, doubleCount };
},
};