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

vue watch监听对象 新旧值一样

vue3中watch监听新旧值一样的处理方式

废话不多说,直接上代码

const objectReactive = reactive({user: {id: 1,name: 'zhangsan',age: 18,},
})
watch(() => objectReactive.user,(n, o) => {console.log(n, o)if (JSON.stringify(n) == JSON.stringify(o)) {return console.log('新旧值相同')} else {return console.log('新旧值不相同')}},{deep: true,}
)const changeObjectReactive = () => {objectReactive.user.age++
}

通过打印最后发现一个问题,watch中的新旧值一样

解决方案

const userComputed = computed(() => {return JSON.parse(JSON.stringify(objectReactive.user))
})
watch(userComputed,(n, o) => {console.log(n, o)if (JSON.stringify(n) == JSON.stringify(o)) {return console.log('新旧值相同')} else {return console.log('新旧值不相同')}},{deep: true,}
)
const changeObjectReactive = () => {objectReactive.user.age++
}

通过computed剥离与原数据的引用关系

http://www.lryc.cn/news/128084.html

相关文章:

  • 学习Vue:测试与调试
  • pg使用sql将文本字符串转换成时间格式
  • WordPress中实现层级文章的访问权限继承
  • CSS常见单位汇总
  • LLM - 大模型评估指标之 BLEU
  • http学习笔记3
  • 【Redis】Redis 的主从同步
  • 文本图片怎么转Excel?分享一些好用的方法
  • 大数据-玩转数据-Flink 自定义Sink(Mysql)
  • linux17 线程安全 线程同步
  • lvs集群与nat模式
  • 【开源分享】在线客服系统搭建-基于php和swoole客服系统CRMchat(附源码完整搭建教程)...
  • Webpact学习笔记记录
  • Python代码实现解析MULTIPOLYGON几何对象类型数据为嵌套列表
  • SSH连接工具汇总
  • Java的AQS框架是如何支撑起整个并发库的
  • 一.net core 自动化发布到docker (Jenkins安装)
  • 二刷LeetCode--148. 排序链表(C++版本),必会题,思维题
  • css flex 上下结构布局
  • win下qwidget全屏弹窗后其他窗口鼠标样式无法更新的问题
  • Java【数据结构】二分查找
  • 数据库技术--数据库引擎,数据访问接口及其关系详解(附加形象的比喻)
  • 【BASH】回顾与知识点梳理(三十三)
  • 同步请求和异步请求
  • Transformer是什么,Transformer应用
  • 故障011:dmap服务缺失libnsl.so修复
  • 第十三章 SpringBoot项目(总)
  • 利用Python隧道爬虫ip轻松构建全局爬虫网络
  • Spring Clould 网关 - Gateway
  • PHP使用phpmailer及SMTP服务实现邮件发送