Vue3 watch方法----监视对象

news/2024/10/6 19:42:13/文章来源:https://www.cnblogs.com/yansunda/p/18449046

使用watch时,如果想监视对象的内部属性值。需要使用watch的第三个参数的配置对象,手动开启深度监视。

//使用watch时如果想监视对象内部的属性值,需要使用watch的第三个参数,手动开启深度监视
watch(person, (newValue, oldValue)=>{console.log('person发生了变化',newValue, oldValue);
}, {deep:true
})

注意:在对象中如果这个person没有经过深度拷贝的话,那么newValue和oldValue的值是一样的。

如果想要监视对象里面的某个属性,那么需要时用箭头函数返回这个属性,例如:

watch(()=>{return person.name}, (newVal, oldVal) => {console.log(newVal, oldVal);
}) 
<template><!-- watch;监视ref定义的对象类型的数据--><div class="person">姓名:{{ person.name }}年龄:{{ person.age }}<button @click="changeName">修改姓名</button><button @click="changeAge">修改年龄</button></div>
</template>
<script setup lang="ts">
// 需求:当值大于多少时,执行什么操作
import { reactive, watch } from "vue";
let person = reactive({name:"zhangsan",age:18
})
function changeName() {person.name = "王五"
}
function changeAge() {person.age = 20
}watch(()=>{return person.name}, (newVal, oldVal) => {console.log(newVal, oldVal);}) </script><style scoped>
.person {background: #ddd;box-shadow: 0 0 10px;border-radius: 10px;padding: 20px;
}
button {margin: 0 5px;
}
</style>

上述代码,只有在person.name发生改变的时候,watch方法才会发生改变。

如果监视一个整个的对象,那么建议函数返回值,并且开启深度监视,如下(person.car是一个对象):

watch(()=>{return person.car}, (newVal, oldVal) => {console.log(newVal, oldVal);
}, {deep:true
}) 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/809167.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DiLiGenT光度立体数据集

本文对DiLiGenT光度立体数据集进行了详细介绍。简介 ”DiLiGenT“ 光度立体数据集,全称为 calibrated Directional Lightings, objects of General reflectance, and ‘ground Truth’ shapes (normals),即使用标定过的定向光源,对一些具有常见反射率特性的物体进行光度立体…

Pool Kings All In One

Pool Kings All In One 泳池之王 Pool Kings - Mountain Paradise / 泳池之王 - 山间天堂 Utah waterfall MountainPool Kings All In One泳池之王demosPool Kings - Mountain Paradise / 泳池之王 - 山间天堂Utah waterfall Mountainhttps://vimeo.com/233842674 https://www.…

CHT

水电费是否收到fwe】今天探索一下CTH的电脑 PEPPA PIG放映室!tm的图怎么死了

visdom可视化工具

安装visdom可视化工具 pip install visdom -i 作者:太一吾鱼水 宣言:在此记录自己学习过程中的心得体会,同时积累经验,不断提高自己! 声明:博客写的比较乱,主要是自己看的。如果能对别人有帮助当然更好,不喜勿喷! 文章未经说明均属原创,学习笔记可…

测绘地理信息赋能新质生产力

在信息化与智能化浪潮的推动下,测绘地理信息作为连接现实世界与数字空间的桥梁,正逐步成为驱动经济社会发展的新质生产力。本文旨在深入探讨测绘地理信息如何通过技术创新与应用拓展,为各行各业赋能,塑造智慧社会的新面貌。一、测绘地理信息的转型之路随着卫星定位系统(如…

2024-2025-1 20241327 《计算机基础与程序设计》第2周学习总结

作业信息 |2024-2025-1-计算机基础与程序设计)| |-- |- |2024-2025-1计算机基础与程序设计第二周作业)| |快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题 |作业正文|https://www.cnblogs.com/shr060414/p/18…

守护“金饭碗”:耕地保护,为经济社会发展筑牢根基

耕地,那片孕育着希望的田野,是我们共同的“金饭碗”。它不仅滋养着亿万生灵,更是我国经济社会发展的坚实后盾。那么,这“金饭碗”究竟蕴藏着怎样的力量,对我国经济社会发展起着怎样的作用呢?一、守护“金饭碗”,粮食安全有保障想象一下,如果我们的“金饭碗”不再丰盈,…

城市扩张与土地资源:压力之下寻平衡之道

在飞速发展的现代城市化进程中,城市扩张犹如一股不可阻挡的力量,既见证了人类文明的辉煌成就,也给土地资源带来了前所未有的压力与挑战。深入分析城市扩张对土地资源造成的影响,并探索可持续的解决方案,以期在城市发展的大潮中,找到与自然和谐共生的平衡点。 一、城市扩张…

实景三维赋能矿山安全风险监测预警

随着科技的不断进步,实景三维技术在矿山安全风险监测预警中的应用越来越广泛,它为矿山安全管理带来了革命性的变革。一、矿山安全现状矿山作为国家重要的能源和原材料基地,其安全生产直接关系到国民经济的发展和社会的稳定。然而,矿山作业环境复杂,地质条件多变,加之人为…

【笔记】SSTI学习

学习记录什么是SSTI的东西 所以什么是SSTI啊? 我不到啊!【笔记】SSTI学习 原文章:尝试黑客攻击 |SSTI (tryhackme.com) 介绍 服务器端模板注入(SSTI)是一种web漏洞攻击,它利用模板引擎的不安全特性实现。 什么是模板引擎? 模板引擎允许您创建可以在应用程序中重复使用的静…

# 2024-2025-1 学号(2024130) 《计算机基础与程序设计》第二周学习总结

作业信息 |这个作业属于哪个课程|<[2024-2025-1-计算机基础与程序设计]> (https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))| |-- |-- | |这个作业要求在哪里|<[2024-2025-1计算机基础与程序设计第一周作业]>(https://edu.cnblogs.com/campus/besti/2024…

序列化器中拿到request

class UpdateMobileSerializer(serializers.ModelSerializer):old = serializers.CharField(write_only=True, validators=[RegexValidator(r"\d{11}", message="格式错误")])mobile = serializers.CharField(write_only=True, validators=[RegexValidator…