Vue3监听器使用

watch(监听的对象或值,

回调函数(参数新值,旧值),

配置项是对象={
  immediate: true//立即监听--进入就会执行一次

deep:true //深度监听
})

首先引入

import { ref, watch } from 'vue';

设置响应式数据

const num = ref(1)

设置点击事件,点击触发修改num

const btn = () => {
  // 改变简单数据
  num.value++
}

监听简单数据类型----- immediate: true//立即监听--进入就会执行一次

// 简单数据类型监听
watch(num, (newVal, oldVal) => {
  console.log(newVal, oldVal);
}, {
  immediate: true//立即监听--进入就会执行一次
})

---------------------------------------------------------------------------------------------------------------------------------

设置复杂数据类型

const obj = ref({ age: 18 })

点击事件添加修改复杂数据

const btn = () => {
  // 改变简单数据
  num.value++
  // 改变复杂数据
  obj.value.age++
}

设置监听--监听整个对象需要开启深度监听----- deep: true,//开启深度监听

// 监听整个对象
watch(obj, (newVal, oldVal) => {
  console.log(oldVal);//无效--复杂数据类型监听没有旧值参数
  console.log(newVal, 'fz');
}, {
  deep: true,//开启深度监听
  immediate: true//立即监听
})

=========================================================================

监听复杂数据类型的某一个属性值

设置复杂数据

const obj2 = ref({ num: 0, max: 99, min: 0 })

点击事件,修改对象内的属性值

const btn = () => {
  // 改变简单数据
  num.value++
  // 改变复杂数据
  obj.value.age++
  //----
  obj2.value.num++
}

监听obj对象内的num属性值的变化-----不需要开启深度监听,但是想页面加载就执行需要设置immediate,可以监听到新值和旧值

// 监听复杂对象的某一个值,不需要开启深度监听
watch(() => obj2.value.num, (newVal, oldVal) => {
  console.log(newVal, oldVal, 'hs');
})

*************************************************************************************************************

响应式数据

const num = ref(1)
// ***************
// 复杂数据类型
const obj = ref({ age: 18 })

同时监听多个值---不要开启深度监听可以,监听obj内数据的变化

// 监听多个值(简单数据和复杂数据)--监听参数是数组形式
watch([num, obj], (newVal, oldVal) => {
  console.log(newVal, oldVal, 'zzz');
})

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构篇C++实现】- 栈

文章目录🚀一、栈的原理精讲🚀二、栈的算法实现⛳栈的顺序存储结构🎉(一)顺序栈1.栈的结构体定义2.栈的初始化3.判断空栈4.判断栈满5.元素入栈6.元素出栈7.获取栈顶元素🎉(二)共享栈…

冯诺依曼,操作系统以及进程概念

文章目录一.冯诺依曼体系结构二.操作系统(operator system)三.系统调用和库函数四.进程1.进程控制块(PCB)2.查看进程3.系统相关的调用4.fork介绍(并发引入)五.总结一.冯诺依曼体系结构 计算机大体可以说是…

MD5加密竟然不安全,应届生表示无法理解?

前言 近日公司的一个应届生问我,他做的一个毕业设计密码是MD5加密存储的,为什么密码我帮他调试的时候,我能猜出来明文是什么? 第六感,是后端研发的第六感! 正文 示例,有个系统,前…

【深度强化学习】(6) PPO 模型解析,附Pytorch完整代码

大家好,今天和各位分享一下深度强化学习中的近端策略优化算法(proximal policy optimization,PPO),并借助 OpenAI 的 gym 环境完成一个小案例,完整代码可以从我的 GitHub 中获得: https://gith…

泰克信号发生器特点

泰克信号发生器是一种用于产生各种类型的电子信号的仪器,可以广泛应用于电子、通信、自动化、医疗等领域。泰克信号发生器具有以下特点:多种信号类型:泰克信号发生器可以产生多种类型的电子信号,包括正弦波、方波、三角波、脉冲等…

TitanIDE:云原生开发到底强在哪里?

原文作者:行云创新技术总监 邓冰寒 引言 是一种新的软件开发方法,旨在构建更可靠、高效、弹性、安全和可扩展的应用程序。与传统的应用程序开发方式不同,云原生是将开发环境完全搬到云端,构建一站式的云原生开发环境。云原生的开…

PWM互补输出,以及死区时间计算

本文基于野火例程进行解说 实验内容 本次实验输出一对互补的pwm波,且进行死区时间的计算说明。 代码 互补输出对应的定时器初始化代码: bsp_advance_tim.c /********************************************************************************* fi…

【YOLO】YOLOv8训练自定义数据集(4种方式)

YOLOv8 出来一段时间了,继承了分类、检测、分割,本文主要实现自定义的数据集,使用 YOLOV8 进行检测模型的训练和使用 YOLOv8 此次将所有的配置参数全部解耦到配置文件 default.yaml,不再类似于 YOLOv5,一部分在配置文件…

Anaconda 的安装配置及依赖项的内外网配置

在分享anaconda 的安装配置及使用前,我们必须先明白anaconda是什么;Anaconda是一个开源的Python发行版本。两者区别在于前者是一门编程语言,后者相当于编程语言中的工具包。 由于python自身缺少numpy、matplotlib、scipy、scikit-learn等一系…

Java中的深拷贝和浅拷贝

目录 🍎引出拷贝 🍎浅拷贝 🍎深拷贝 🍎总结 引出拷贝 现在有一个学生类和书包类,在学生类中有引用类型的书包变量: class SchoolBag {private String brand; //书包的品牌private int size; //书…

7.网络爬虫—正则表达式详讲

7.网络爬虫—正则表达式详讲与实战Python 正则表达式re.match() 函数re.search方法re.match与re.search的区别re.compile 函数检索和替换检索:替换:findallre.finditerre.split正则表达式模式常见的字符类正则模式正则表达式模式量词正则表达式举例前言&…

2022财报逆转,有赞穿透迷雾实现突破

2022年,商家经营面临困难。但在一些第三方服务商的帮助下,也有商家取得了逆势增长。 2023年3月23日,有赞发布2022年业绩报告,它帮助许多商家稳住了一整年的经营。2022年,有赞门店SaaS业务的GMV达到425亿元&#xff0c…

24万字智慧城市顶层设计及智慧应用解决方案

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。部分资料内容: 4.8 机房消防系统 4.8.1消防系统概况 根据本工程机房消防系统的特殊要求,整个消防系统由火灾报警系统、消防联动系统和气体灭火系统三部…

常见的嵌入式微处理器(Micro Processor Unit,MPU)

嵌入式微处理器是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除了…

医院陪诊系统源码,可以提供新的就医方式

随着人们生活水平的提高和医疗服务的进步,越来越多的人们开始注重家庭健康和医疗保健。在这个背景下,陪护系统和医院陪诊系统应运而生,成为了现代医疗服务领域中的重要组成部分。 陪护系统是一种为患者提供家庭养护服务的机构,它…

“蓝桥杯”递推和递归(一)——取数位

1. 算法简介 递推和递归虽然叫法不同,但它们的基本思想是一致的,在很多程序中,这两种算法可以通用,不同的是递推法效率更高,递归法更方便阅读。 (1)递推法 递推法是一种重要的数学方法&#…

【PC自动化测试-4】inspect.exe 详解

1,inspect.exe图解" 检查 "窗口有几个主要部分:● 标题栏。 显示" 检查 HWND (窗口句柄) 。● 菜单栏。 提供对 检查功能 的访问权限。● 工具 栏。 提供对 检查功能 的访问权限。● 树视图。 将 UI 元素的层次结构呈现为树视图控件&…

【超好懂的比赛题解】暨南大学2023东软教育杯ACM校赛个人题解

title : 暨南大学2023东软教育杯ACM校赛 题解 tags : ACM,练习记录 date : 2023-3-26 author : Linno 文章目录暨南大学2023东软教育杯ACM校赛 题解A-小王的魔法B-苏神的遗憾C-神父的碟D-基站建设E-小王的数字F-Uziの真身G-电子围棋H-二分大法I-丁真的小马朋友们J-单车运营K-超…

JavaScript实现列表分页(小白版)

组件用惯了,突然叫你用纯cssJavaScript写一个分页,顿时就慌了。久久没有接触js了,不知道咋写了。本文章也是借与参考做的一个demo案例,小白看了都会的那种。咱们就以ul列表为例进行分页: 首先模拟的数据列表是这样的&a…

变量的理论分布模型

二项分布 定义 对立事件的总体分布,称为二项分布。 例如,一个群体只有男和女,现在进行n次随机抽样调查,随机抽样男出现的次数可能是0,1,2,3,4,…,n, 这种类…