Vue3组合式API的核心

以下是Vue3组合式API的核心使用方法和实践要点:

一、基础使用方式

  1. 组件定义

  • 推荐使用defineComponent()函数定义组件,支持类型推断和setup识别

  • <script setup>语法糖可简化代码,自动添加导出语句

  1. 响应式数据

  • reactive()处理对象类型数据,直接返回响应式代理

  • ref()处理基本类型数据,通过.value访问

import { reactive, ref } from 'vue'const state = reactive({ count: 0 })const num = ref(1)

二、核心功能实现

  1. 生命周期

  • 在setup中使用onMounted等钩子函数

import { onMounted } from 'vue'onMounted(() => { console.log('组件挂载') })
  1. 计算属性

  • 使用computed()创建依赖响应式数据的计算值

const doubleCount = computed(() => count.value * 2)
  1. 监听器

  • watch()监听特定数据变化

  • watchEffect()自动追踪依赖

watch(count, (newVal) => { console.log('count变化:', newVal) })

三、高级特性

  1. 组件通信

  • defineProps定义接收的props

  • defineEmits定义触发的事件

const props = defineProps(['title'])const emit = defineEmits(['update'])
  1. 逻辑复用

  • 将相关逻辑抽离为自定义hook函数

// useCounter.jsexport function useCounter(init) {  const count = ref(init)  const increment = () => count.value++  return { count, increment }}

四、项目实践建议

  1. 代码组织

  • 相关功能代码集中维护(如数据+方法)

  • 复杂组件建议按功能拆分多个hook

  1. 类型支持

  • 配合TypeScript使用可获得更好的类型推断

interface User {  name: string  age: number}const user = reactive<User>({ name: '', age: 0 })

注意:组合式API特别适合中大型项目,能显著提升代码可维护性和复用性对于简单组件,仍可使用选项式API


标签:

相关文章

axure使用的故事

‌Axure 是一款专注于原型设计与交互逻辑构建的专业工具,被广泛用于用户界面(UI)和用户体验(UX)设计领域。‌林风与他的伙伴们,在经历了无数次江湖历险后,决定利用现代科技手段来更有效地规划和管理...

gibbon

n. [脊椎] 长臂猿\nn. (Gibbon)人名;(英、葡、匈、塞、巴基)吉本gibbon 长臂猿词源不详,由18世纪法国驻印度总督将该词引进印度。来自可能常用名Gilbert的昵称。gibbon...

php高级技术

一、语言基础与核心机制语法结构‌变量与数据类型‌:PHP支持动态类型,变量无需显式声明类型(如$var = "Hello";)。流程控制‌:if-else、for、while等语句...

HTML基础入门教程 - 网页结构与标签详解

### 🌟 HTML初学者福音!一文带你从零开始构建网页🌟嘿小伙伴们,今天咱们要聊的是网页开发界的“入门砖”——HTML!没错,就是那个能让咱们从零开始搭建起自己小天地的神奇语言。准备好了吗?让我们一...

html5标签

HTML5 引入了许多新的语义化标签和功能特性,旨在提升网页结构的清晰度、可访问性和 SEO 效果。以下是 HTML5 中一些核心新增标签及其用途:1. 语义化结构标签这些标签用于定义网页的不同部分,...

学习php所需要的技术

学习PHP需要掌握的核心技术包括:HTML/CSS基础、编程基础(变量、循环、条件语句)、数据库概念、主流PHP框架(如Laravel、Symfony)、版本控制工具(如Git)、服务器环境配置(Ap...