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

watch监视-ref对象类型数据

watch监视-ref对象类型数据

上次讲解了监视ref基本类型数据,本次我们来学习监视ref对象类型数据

  • 预设代码
<template><div class="person"><h2>{{ ItShare.name }}</h2><h2>{{ ItShare.title }}</h2><button @click="ChangeName">修改名称</button><button @click="ChangeTitle">修改标题</button><button @click="ChangeItshare">修改对象</button></div>
</template><script lang="ts" setup>
import { ref } from 'vue';let ItShare = ref({name: 'IT知识一享',title: '学习VUE'
})function ChangeName() {ItShare.value.name += '*';
}function ChangeTitle() {ItShare.value.title = '学习VUE' + '基础';
}function ChangeItshare() {ItShare.value = {name: 'Itshare',title: '精通VUE'}
}
</script><style scoped>.person{background-color: rgb(39, 148, 191);padding-left: 50px;}.btn {display: flex;gap:20px}
</style>
  • 这个代码非常的简单,就不多去解释了,我们像watch监视ref基本数据类型一样来写看看是什么效果
watch(ItShare,(newValue,oldValue)=>{console.log('数据变化了',newValue,oldValue);})

在这里插入图片描述

在这里插入图片描述

  • 我们发现当watch监听一个响应式对象的时候,默认只能监听对象本身的引用变化,但是对象内部属性的变化,无法监听,如果我们想监听对象内部属性的变化,就需要开启深度监听
watch(ItShare,(newValue,oldValue)=>{console.log('数据变化了',newValue,oldValue);},
{deep: true
})
</script>

在这里插入图片描述

  • 这样我们就可以监听对象的内部属性变化了,但是为什么当内部属性改变的时候,我们无法监听到原来的值呢?因为当我们修改完内部属性的时候,本身的对象引用并没有进行改变,当我们读取原来的值的时候,已经改变了,我们已经不知道原来的值了,但是当我们监听整个对象时候,他是两个对象的引用,所以我们都可以读取到;
  • 如果我们想要一开始就监听到对象内部属性的原来值,就需要让他立即执行;因为默认情况下,watch是惰性的,第一次创建时不会立即执行监听,只有数据变化的时候才会执行,如果我们需要立即执行的话就可以加上这个参数
watch(ItShare,(newValue,oldValue)=>{console.log('数据变化了',newValue,oldValue);},
{deep: true,immediate: true
})

在这里插入图片描述

这样我们就能知道我们内部属性一开始的值了;其实在实际开发的情况下,大多数的情况我们都不会去关系旧的值

http://www.dtcms.com/a/593134.html

相关文章:

  • 网站建设的英语怎么做淘宝客网站做淘客
  • MBSE:数字模型重塑系统工程未来
  • 排序算法的相关讨论
  • HDFS 之 CacheAdmin
  • MySQL数据库07:分组查询与分类查询
  • 淄博网站公司高端网站建设公司怎么做推广
  • MCU的I/O防护
  • 碳纤维便携式气象站:轻量化设计,随时随地掌握气象数据
  • 华为-AI智算网络学习-2
  • K8S RD: Kubernetes从核心调度到故障排查、网络优化与日志收集指南
  • Java 项目里的那些坑
  • 【读书笔记】NVIDIA DGX
  • 岑溪网站开发工作室宁波网站制作公司费用价格
  • 揭阳智能模板建站海口百度seo公司
  • 智能SQL优化工具 PawSQL 月度更新 | 2025年10月
  • 烟台市网站建设用电脑怎么做原创视频网站
  • Total PDF Converter v6.5.0.356.0 电脑PDF多功能转换器
  • 【Android】MVVM实战:仿Launcher加载与应用过滤
  • seowhy什么意思丹阳seo公司
  • 质量智能革命:SPC软件助力中国制造驶入高质量发展快车道
  • 步骤记录器广州搜索排名优化
  • 3分钟搞定,CI/CD工具Arbess安装和配置
  • 5G智慧矿山监控终端:引领矿山智能化新潮流 在科技浪潮汹涌澎湃的当下,矿山行业正处于智能化转型的关键转折点
  • oracle 11查询数据库锁
  • 网站后台模板免费海外网站服务器网址
  • Oracle dblink 连接TDSQL-PG,及乱码处理
  • [出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)]
  • jdbc基础(工具类)
  • 生物电子实验箱 生物医学教学平台 嵌入式生物医学电子实验箱 医疗电子试验箱
  • 长沙做网站微联讯点很好wordpress百度云直链