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

vue复杂数据类型多层嵌套的监听

vue复杂数据类型多层嵌套的监听

本来看前辈的做法是watch的嵌套,遇到这种复杂的数据结构还是不多,分享一下前辈的做法

let stopChildWatchList = []  // 用于存放每个子监听器watch(() => data,(val) => {// 清除旧监听stopChildWatchList.forEach(stop => stop())stopChildWatchList = []val.forEach((item, i) => {item.children.forEach((child, j) => {const stop = watch(() => child.tags,(newTags) => {console.log(`data[${i}].children[${j}].tags changed:`, newTags)},{ deep: true })stopChildWatchList.push(stop)})})},{ deep: true, immediate: true }
)

后面我感觉有点不太好读,就去找了一下另一种做法,比较易懂,给自己做个记号

watch(() =>data.flatMap(item =>item.children.flatMap(child => [...child.tags])),(newVal) => {console.log('所有 tags 改了:', newVal)}
)

相关文章:

  • DDS(数据分发服务) 和 P2P(点对点网络) 的详细对比
  • Qwen2.5-VL模型sft微调和使用vllm部署
  • yocto项目例子
  • 美创科技针对《银行保险机构数据安全管理办法》解读
  • 武汉火影数字全息剧秀制作:科技与艺术的梦幻联动
  • RAG数据处理:PDF/HTML
  • OpenCV CUDA模块中矩阵操作------降维操作
  • 22、能源监控与优化 - 数据中心模拟 - /能源管理组件/data-center-energy-monitoring
  • OCCT知识笔记之OCAF框架详解
  • CVE-2017-8046 漏洞深度分析
  • 【学习笔记】机器学习(Machine Learning) | 第七章|神经网络(1)
  • C语言水仙花数
  • 多通道电源管理芯片在分布式能源系统中的优化策略
  • 敏捷-第二章 敏捷宣言与原则
  • AI神经网络降噪算法在语音通话产品中的应用优势与前景分析
  • 我用 Appuploader绕过 Mac,成功把 iOS 应用上线了 App Store
  • 兰亭妙微设计:为生命科技赋予人性化的交互语言
  • duxapp 2025-03-29 更新 编译结束的复制逻辑等
  • 机器学习模型(4/4课时):超参数
  • Zephyr OS Nordic芯片的Flash 操作
  • 圆桌丨全球化博弈与人工智能背景下,企业如何落地合规体系
  • 著名心血管病学专家李国庆教授逝世,享年63岁
  • 阿里上财年营收增6%,蒋凡:会积极投资,把更多淘宝用户转变成即时零售用户
  • 英德宣布开发射程超2000公里导弹,以防务合作加强安全、促进经济
  • 阿里上季度营收增7%:淘天营收创新高,AI产品营收连续七个季度三位数增长
  • 河南:响鼓重锤对违规吃喝问题露头就打、反复敲打、人人喊打