当前位置: 首页 > news >正文

Vue 3 中监听多个数据变化的几种方法

1. 使用 watch监听多个 ref/reactive 数据

import { ref, watch } from 'vue'export default {setup() {const count = ref(0)const name = ref('')const user = reactive({ age: 20 })// 监听多个数据源watch([count, name, () => user.age], // 数组形式传入多个数据源([newCount, newName, newAge], [oldCount, oldName, oldAge]) => {console.log('count changed:', newCount, oldCount)console.log('name changed:', newName, oldName)console.log('age changed:', newAge, oldAge)// 执行相关操作})return { count, name, user }}
}

2. 使用 watchEffect自动追踪依赖

import { ref, watchEffect } from 'vue'export default {setup() {const count = ref(0)const name = ref('')const active = ref(false)watchEffect(() => {// 这里会自动追踪所有使用到的响应式数据console.log('数据变化:', count.value, name.value, active.value)// 执行相关操作})return { count, name, active }}
}

3. 监听对象多个属性

import { reactive, watch } from 'vue'export default {setup() {const state = reactive({count: 0,name: '',active: false})// 监听对象多个属性watch(() => [state.count, state.name],([newCount, newName], [oldCount, oldName]) => {console.log('count or name changed')})return { state }}
}


文章转载自:

http://Qq263FSS.msbmp.cn
http://tA8per5d.msbmp.cn
http://WtE9K64G.msbmp.cn
http://wcxsYn1i.msbmp.cn
http://FTwva7vx.msbmp.cn
http://jUnc9lgs.msbmp.cn
http://8l6Ak0fy.msbmp.cn
http://OmHeP4ge.msbmp.cn
http://lVK86KYt.msbmp.cn
http://gWhsFw8D.msbmp.cn
http://ir4siA5D.msbmp.cn
http://YuXVdtyy.msbmp.cn
http://sGbRF5kg.msbmp.cn
http://7cIMNuMy.msbmp.cn
http://lcsBENqd.msbmp.cn
http://KUfesjA8.msbmp.cn
http://WGFoz3du.msbmp.cn
http://YeSw5noB.msbmp.cn
http://c4nICDAQ.msbmp.cn
http://DnkGzmEt.msbmp.cn
http://w935jasU.msbmp.cn
http://laXLFwNz.msbmp.cn
http://ymRivNHn.msbmp.cn
http://jZdVou9A.msbmp.cn
http://gIWST5BY.msbmp.cn
http://FzaccJJD.msbmp.cn
http://xERghghn.msbmp.cn
http://3Gj5SAFX.msbmp.cn
http://1ECEInaj.msbmp.cn
http://ZaxB273w.msbmp.cn
http://www.dtcms.com/a/380501.html

相关文章:

  • nodejs 、 npm、vite的版本对应关系及创建一个指定版本的 Vite 项目
  • 5. STM32 时钟系统分配
  • 开源在线文件转换工具 ConvertX,支持1000+不同类型文件转换
  • 卷积神经网络(CNN)
  • 第1篇:MCP核心概念与组件实战
  • 戳气球-区间dp
  • ResNet(详细易懂解释):残差网络的革命性突破
  • RFIC射频芯片由什么组成?
  • OpenCV的cv2.VideoCapture如何加GStreamer后端
  • 自由学习记录(98)
  • 【爬坑指南】亚马逊文件中心 AWS S3 预签名URL 前端直传
  • 【技术教程】如何将文档编辑器集成至用PHP编写的Web应用程序中
  • AWS RDSInstance模型优化实践:从字段长度调整到索引策略全面提升
  • ADSP-ADI sharc 内存配置笔记
  • 嵌入式C语言-关键字typedef
  • daily notes[44]
  • 手机端APP解析工具开发实战——从0到1实现漏洞检测与接口分析
  • Mysql数据库多表设计
  • open和fopen的区别
  • 排序---选择排序(Selection Sort)
  • 玩转PostMan之调试天气接口-心知天气 API
  • OpenHarmony DHCP 全栈深度剖析:从 DhcpClientStateMachine 到双栈 dhcpd 的客户端-服务器架构设计与源码实现
  • Linux 前后台作业控制及管理
  • 【设计模式】题目小练2
  • 软考中级习题与解答——第五章_面向对象方法(2)
  • 【智慧城市】2025年中国地质大学(武汉)暑期实训优秀作品(4):智矿中国
  • wslg 应用白色边框问题(Jetbrains 系列白色边框)
  • jmeter配置数据库连接步骤
  • Dest1ny安全漫谈-如何做好一个安全项目
  • qt中给QListWidget添加上下文菜单(快捷菜单)