vue3 watch监听

news2025/1/15 17:51:39

Watch在vue3中是一个组合API,可以多次调用,它有三个参数:
Params1:被监听的变量,可以是一个数组,存放多个变量。
Params2:回调函数,监听的数据有变化时调用,回调函数中有两个参数,newVal和oldVal。
Params3:是一个对象,存放watch的配置{immediate:true,deep:true}。

1、Watch监听ref变量

在这里插入图片描述
在这里插入图片描述

Watch监听reactive变量

Vue3bug:
1)watch监听reactive变量时,oldValue值获取不到。
2)强制开启了深度监听,deep配置无效。
在这里插入图片描述
新旧值一样。

在vue3中,不管嵌套的层级有多深,只要是用reactive定义的,都可以监听到。但是获取不到正确的oldVal。

监听reactive定义的嵌套多级的对象,不管嵌套层级有多深,都是深度监听

在这里插入图片描述
在这里插入图片描述

监听reactive定义的响应式对象中的某一属性。使用回调函数的方式。并且可以获取到oldValue值。

在这里插入图片描述
在这里插入图片描述

监视reactive定义的响应式对象的某些属性。可以成功获取oldVal。

在这里插入图片描述
在这里插入图片描述
特殊情况:监听salary,要使用deep。拿不到oldValue。
在这里插入图片描述
总结:
在这里插入图片描述
在这里插入图片描述
答疑:
1、为什么监听ref定义的基本数据类型不需要使用.value,监听ref定义的引用类型的数据需要使用.value。
监听ref定义的基本数据类型:监听的是RefImpl对象。
监听ref定义的引用类型数据,监听的是RefImpl对象,但是RefImpl中的value值是Proxy对象,需要深度监听,所以需要使用{deep:true},或者监听person.value。

在这里插入图片描述

WatchEffect

Watch:既要指明监视的属性,又要指明监视的回调。
WatchEffect:不用指明监视的属性,监视的回调中用到了哪个属性,就监视哪个,而且深度监听。
WatchEffect有点像computed:
1)但computed注重的是计算出来的值(回调函数的返回值),所以必须要写返回值。
2)而WatchEffect注重的是过程(即函数体),所以不用写返回值。

watchEffect(() => {
    const x = sum.value
    const y = person.job.work1.gongzi
    console.log('watchEffect变化了')
})

WatchEffect在组件初始化的时候就会调用一次,相当一watch的immediately:true

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IUG-CF论文精读

Neural collaborative filtering with ideal user group labels (具有理想用户组标签的神经协同过滤) 论文地址:https://www.sciencedirect.com/science/article/pii/S0957417423023898 摘要: 人口统计信息是推荐系统(RSs)的关键…

机器学习(四)之无监督学习

前言: 前面写了监督学习的几种算法,下面就开始无监督啦! 如果文章有错误之处,小伙伴尽情在评论区指出来(嘿嘿),看到就会回复的。 1.聚类(Clustering) 1.1 概述&#xff…

javaWeb-异常处理和事务管理

异常处理 我们的代码出现异常之后,异常会向上抛出,直到抛给Spring框架,会去响应一个错误结果 我们要想处理异常,可以在Controller的方法中去捕获异常,但这样做很繁琐,常常我们会定义一个全局异常处理器来…

每日两题 / 438. 找到字符串中所有字母异位词 238. 除自身以外数组的乘积(LeetCode热题100)

438. 找到字符串中所有字母异位词 - 力扣&#xff08;LeetCode&#xff09; 记录p串每个字符出现次数 维护与p串等长的滑动窗口&#xff0c;记录其中每个字符的出现次数 每次滑动后将当前次数与p串的次数比较即可 class Solution { public:vector<int> findAnagrams(s…

Java——继承与组合

和继承类似, 组合也是一种表达类之间关系的方式, 也是能够达到代码重用的效果。组合并没有涉及到特殊的语法 (诸如 extends 这样的关键字), 仅仅是将一个类的实例作为另外一个类的字段。 继承表示对象之间是is-a的关系&#xff0c;比如&#xff1a;狗是动物&#xff0c;猫是动…

API接口的用途以及接入示例

API接口的主要用途是允许不同的软件系统之间进行通信和数据交换。具体来说&#xff0c;API接口可以用于以下几个方面&#xff1a; 数据传输和交换&#xff1a;API接口可以用于不同系统之间的数据传输和交换&#xff0c;例如将数据从一个系统传递到另一个系统&#xff0c;或者从…

Modbus转Profinet网关接称重设备与工控机通讯

Modbus转Profinet网关&#xff08;XD-MDPN100&#xff09;是一种能够实现Modbus协议和Profinet协议之间转换的设备。Modbus转Profinet网关可提供单个或多个RS485接口&#xff0c;使得不同设备之间可以顺利进行通信&#xff0c;进一步提升了工业自动化程度。 通过使用Modbus转Pr…

Linux加强篇-Vim编辑器

目录 ⛳️推荐 Vim文本编辑器 编写简单文档 配置主机名称 配置网卡信息 配置软件仓库 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 Vim文本编辑器 在Linux系统中一切都…

嵌入式面试-回答UART

说明&#xff1a; 此文章是在阅读了一些列面试相关资料之后对于一些常见问题的整理&#xff0c;主要针对的是嵌入式软件面试中涉及到的问答&#xff0c;努力精准的抓住重点进行描述。若有不足非常欢迎指出&#xff0c;感谢&#xff01;在总结过程中有些答案没标记参考来源&…

【Camera Sensor Driver笔记】五、点亮指南之Actuator配置

<slaveInfo> actuatorName dw9714v dirver IC 型号 slaveAddress 0x18 i2c write address i2cFrequencyMode FAST i2c 操作频率(400KHz) actuatorType VCM/BIVCM 马达类型 BIVCM&#xff08;中置马达&#xff…

一个小时学习javaScript

1 简介 1.1 什么是javascript JavaScript 是一种广泛使用的编程语言&#xff0c;最初被设计来增加网页的交互性&#xff0c;让用户能够与网页上的元素进行互动。自从1995年被引入以来&#xff0c;JavaScript已经发展成为Web开发中不可或缺的一部分&#xff0c;并且其用途已经…

qdbus

qdbus ## 一些简单的使用<font color red>(重要)QtDBus编程1、创建服务并创建对象2、通过QDBusMessage访问Service3、通过QDBusInterface 访问Service4、从D-Bus XML自动生成Proxy类5、使用Adapter注册Object6、自动启动Service qdbus是对dbus的进一步封装&#xff0c;d…

MS1000TA超声波测量模拟前端

产品简述 MS1000TA 是一款超声波测量模拟前端芯片&#xff0c;广 泛应用于汽车工业和消费类电子。该芯片具有高度 的灵活性&#xff0c;发射脉冲个数、频率、增益及信号阈值 均可配置。同时&#xff0c;接收通道参数也可以灵活配置&#xff0c; 从而适用于不同尺寸容器、不…

qt;lt;等xml|Html转义字符

在写Android布局文件时&#xff0c;左右尖括号<>&#xff0c;括号在XML中没办法直接使用&#xff0c;需要进行转义&#xff0c;收集一些转义符&#xff0c;以便查询使用。 常用表&#xff1a; **对于文章出现的任何问题请大家批评指出&#xff0c;一定及时修改 **可联系…

DOM4标准的事件监听与滚屏优化

EventTarget.addEventListener() 我们在学习addEventListener()时都只是知道它是用来给事件注册事件处理函数的。但是这种描述并不是很准确&#xff0c;MDN上给我们准确的描述了它的定义。EventTarget.addEventListener()方法将指定的监听器注册到EventTarget上&#xff0c;当…

ROS1 驱动USB摄像头 2024年亲测

安装 查看官网文档A ROS Driver for V4L USB Cameras 里面提供了github链接&#xff0c;链接如下&#xff0c;这里要选择develop分支 将这个文件包放到你的工作空间的src目录下&#xff0c;然后回到工作空间编译catkin_make 此时报错no package libv4l2 found 参考stack ov…

SpringCloud知识01

1、数据库创建选择 2、定时任务的实现方式 3、分片原理 4、框架图 5、XXL-Job报错Logback configuration error detected 解决&#xff1a; &#xff08;1&#xff09; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…

莫名锁表? --- mysql的事务隔离级别

前言 系统响应超时 系统访问数据库特别慢 莫名提示锁等待超时 数据库锁表 事务长时间等锁&#xff0c;直到超时 以上问题都可能是事务锁表导致的 问题 今天测试反馈系统批量处理莫名提示锁等待超时&#xff0c;再次操作查看数据库事务确实存在等锁情况&#xff0c;甚至死锁。…

SpringMVC请求和响应方式

1. SpringMVC的数据响应 1.1 SpringMVC的数据响应方式 页面跳转&#xff1a; 直接返回字符串通过ModelAndView对象返回 回写数据&#xff1a; 直接返回字符串返回对象或集合 1.2 页面跳转 - 直接返回字符串 1.3 页面跳转 - 通过ModelAndView对象返回 1.4 页面跳转 - 传递参数…

ZNS SSD+F2FS文件系统|如何降低GC开销?---1

ZNS出现的背景是什么&#xff1f;ZNS SSD的原理是把namespace空间划分多个zone空间&#xff0c;zone空间内部执行顺序读写。 在ZNS的场景下&#xff0c;不同应用按照Zone配置信息&#xff0c;相应存放业务数据。由于是Host管理数据的摆放和存取位置&#xff0c;会最大程度减少G…