坦途的博客

vuePress-theme-reco 坦途    2020 - 2025
坦途的博客 坦途的博客
主页
博客
  • 开发实践
  • 技术笔记
  • 技术实践
  • 前端优化
  • 鉴权
  • 心情物语
  • 杂谈游记
  • 前端
标签
时间轴
关于
author-avatar

坦途

22

文章

33

标签

主页
博客
  • 开发实践
  • 技术笔记
  • 技术实践
  • 前端优化
  • 鉴权
  • 心情物语
  • 杂谈游记
  • 前端
标签
时间轴
关于

Vue3中的组合式API解析

vuePress-theme-reco 坦途    2020 - 2025

Vue3中的组合式API解析

坦途 2024-05-15 vue

摘要

Vue3 引入的组合式 API(Composition API)相比 Vue2 的选项式 API(Options API),在逻辑复用、代码组织、可维护性方面更加灵活。

# 一、什么是组合式 API?

Vue2 采用的是选项式 API,开发者需要按照 data、methods、watch、computed 等选项来组织代码。而 Vue3 的组合式 API,让开发者可以基于功能逻辑的归类,自由组织代码。

# 二、组合式 API 的核心概念

  1. setup 函数:Vue3 组件的核心入口,用于定义响应式数据、方法、生命周期等。
  2. reactive 和 ref:用于创建响应式数据。
  3. computed 和 watch:计算属性和监听数据变化。
  4. 生命周期钩子:如 onMounted、onUpdated,取代 Vue2 的 mounted、updated。

# 三、代码对比示例

# Vue2 选项式 API 示例

<template>
  <div>{{ count }}</div>
</template>
<script>
export default {
  data() {
    return { count: 0 };
  },
  methods: {
    increment() {
      this.count++;
    }
  }
}
</script>

# Vue3 组合式 API 示例

<template>
  <div>{{ count }}</div>
</template>
<script setup>
import { ref } from 'vue';

const count = ref(0);
const increment = () => count.value++;
</script>

# 四、组合式 API 的优势

  1. 逻辑更加清晰:将数据、方法、计算属性等按逻辑分组,避免 Vue2 的 this 作用域问题。
  2. 更好的代码复用性:使用 setup + composable 方式可以轻松复用功能。
  3. 性能优化:Vue3 在 setup 阶段提前解析逻辑,减少运行时开销。

# 结论

组合式 API 是 Vue3 的核心特性之一,适用于复杂项目的逻辑拆分和优化,推荐在新项目中优先采用。