在 Vue 3 中,一个 .vue 文件里可以同时使用组合式 API(Composition API)和选项式 API(Options API)
,因为 Vue 3 的设计目标之一就是允许开发者根据需要选择合适的 API 风格来编写代码。
虽然你可以同时使用这两种风格,但建议在单个组件中保持一致性,以避免代码风格混乱。以下是一个示例,展示如何在同一个 .vue 文件中混合使用组合式 API 和选项式 API:
<template>
<div>
<h1>{{ message }}</h1>
<button @click="handleClick">点击我</button>
</div>
</template>
<script setup>
import { ref, onMounted } from 'vue';
// 使用组合式 API
const message = ref('Hello, Vue 3!');
const count = ref(0);
onMounted(() => {
console.log('组件挂载了');
});
const handleClick = () => {
count.value++;
console.log('点击次数:', count.value);
};
</script>
<script>
export default {
name: 'MyComponent',
data() {
return {
optionApiData: '这是选项式 API 的数据'
};
},
methods: {
optionApiMethod() {
console.log('这是选项式 API 的方法');
}
},
mounted() {
console.log('选项式 API 的 mounted 生命周期钩子');
}
};
</script>