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


标签:

相关文章

当前人工智能技术发展水平

一、生成能力:突破人类效率边界‌文本与跨模态生成‌3秒生成专业级商业计划书,实时翻译114种语言(含8种中国方言);AI工具(如Manus)可解压文件、筛选简历并导出报告,实现异步任务处理‌;图像生成...

海量数据分布式处理

若数据量达到 ‌千万级或 TB 级‌,可结合消息队列(如 RabbitMQ、Kafka)实现分布式消费:// 生产者:将数据分块推送至队列 $redis = new&n...

后端懒加载示例(以分页加载数据为例)

场景描述‌假设有一个博客系统,每页显示10篇文章,用户滚动到底部时加载下一页的文章。‌前端请求代码(使用Fetch API)let page = 1; const&nb...

UniApp中的HTTP请求

1. UniApp内置HTTP请求方法UniApp提供了uni.request作为内置的HTTP请求API,具有以下特点:‌跨平台兼容‌:已为iOS、Android、H5等平台做了优化和适配‌简单易用...

前端-弹性布局

弹性布局(Flexbox)是CSS3中用于实现高效页面布局的模块化方案,通过弹性容器(Flex Container)和弹性项目(Flex Item)的交互,实现灵活的空间分配与对齐控制。其核心特性如下...

UI组件库

以下是2025年前端开发中常用的库和工具分类整理,结合当前技术趋势和实际应用场景:📱 ‌UI组件库‌‌移动端‌‌Vant‌:轻量级Vue组件库,支持Vue2/3和小程序‌uView系列‌:uView(...