小纸条1号
小纸条1号
发布于 2025-09-05 / 2 阅读
0

vue3小白【OptionsAPI 与 CompositionAPI】

1、Vue2API设计是Options(配置)风格的。

Options类型的 API,数据、方法、计算属性等,是分散在:datamethodscomputed中的,若想新增或者修改一个需求,就需要分别修改:datamethodscomputed,不便于维护和复用。


<template>
    <div>
        <h2>姓名:{{ name }}</h2>
        <h2>年龄:{{ age }}</h2>
        <h2>电话:{{ tel }}</h2>
        <button @click="changeAge">修改年龄</button>
        <button @click="showTel">获取电话</button>
        <button @click="changeName">修改名字</button>
    </div>
</template>


<script>
export default {
    name:"Person",
    data(){
        return {
            name:"小白",
            age:19,
            tel:'1301111111',
        }
    },
    methods: {
        changeAge:function(){
            this.age+=1;
        },
        changeName:function(){
            this.name = "xiaobai";
        },
        showTel:function(){
            alert(this.tel)
        }
        
    },
}
</script>


<style scoped>
    button{
        margin: 0 5px;
    }
    div{
       border: 1px solid red;
    }
</style>

2、Vue3API设计是Composition(组合)风格的。

可以用函数的方式,更加优雅的组织代码,让相关功能的代码更加有序的组织在一起。

<template>
<div>
<h1>{{ fullName }}</h1>
<button @click="changeName">Change Name</button>
</div>
</template>

<script>
import { ref, computed } from "vue";

export default {
setup() {
const firstName = ref("John");
const lastName = ref("Doe");

const fullName = computed(() => `${firstName.value} ${lastName.value}`);

const changeName = () => {
firstName.value = "Jane";
};

return { firstName, lastName, fullName, changeName };
},
};
</script>

3、总结

优点和缺点

Composition API 的优点

1. 逻辑更易组织和复用:可以将逻辑提取到组合函数中,便于在多个组件中复用。

2. 更强的灵活性:通过函数调用和响应式 API,更灵活地组织代码。

3. 更好的类型推断:对于使用 TypeScript 的项目,Composition API 提供了更好的类型推断和检查。

Composition API 的缺点

1. 学习曲线:对于习惯了 Options API 的开发者,Composition API 需要一些时间来适应。

2. 可能的代码冗余:在某些简单的组件中,使用 Composition API 可能会导致代码冗余。

Options API 的优点

1. 易于上手:对于新手或习惯了 Vue 2 的开发者,Options API 更易于理解和上手。

2. 结构清晰:通过选项块组织代码,结构清晰明了。

Options API 的缺点

1. 复用性差:在复杂组件中,逻辑分散在不同的选项块中,不利于复用和维护。

2. 灵活性不足:相对于 Composition API,Options API 在灵活性和扩展性上有所欠缺。

选择指南

在实际项目中,选择使用 Composition API 还是 Options API 可以根据以下因素决定:

  • 项目复杂度:对于复杂项目,建议使用 Composition API,以便更好地组织和复用代码。

  • 团队经验:如果团队成员大多习惯了 Options API,可以逐步引入 Composition API,避免一次性转变带来的不适应。

  • 类型安全:对于使用 TypeScript 的项目,Composition

API 提供了更好的类型推断和检查,建议优先考虑。

总之,Vue 3 的 Composition API 和 Options API 各有优缺点,开发者可以根据项目需求和团队情况灵活选择。希望本文的详细比较和示例代码能帮助你更好地理解和使用这两种 API,提高开发效率和代码质量。