位置: IT常识 - 正文

Vue3中的watch监听(vue中watch监听对象的变化)

发布时间:2024-01-12
Vue3中的watch监听

目录

一、监听基础ref类型

1、监听单个ref数据

2、 监听多个ref数据

二、监听reactive类型

1、监听对象中单个属性

 2、监听对象中多个属性

  3、同时监听ref基本类型数据和reactive对象中的属性

 4、监听整个对象

  5、监听对象中值为对象的属性

三、watchEffect


一、监听基础ref类型1、监听单个ref数据

推荐整理分享Vue3中的watch监听(vue中watch监听对象的变化),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue watch监听localstorage变化,vue监听watch监听全局对象,vue watch监听,vue的watch监听props,vue的watch监听props,vue watch监听,vue3中的watch监听路由,vue中watch监听对象的变化,内容如对您有帮助,希望把文章链接给更多的朋友!

2、 监听多个ref数据

二、监听reactive类型1、监听对象中单个属性

监听 user.more.iPhone 属性,那么只有当iPhone属性发生变更时,才会触发 watch 方法,其他属性变更不会触发 watch 方法。注意,此时的第一个参数是一个箭头函数。

 2、监听对象中多个属性

  3、同时监听ref基本类型数据和reactive对象中的属性

 

 4、监听整个对象

当监听整个对象时,只要这个对象有任何修改,那么就会触发 watch 方法。无论是其子属性变更(如 user.name),还是孙属性变更(如 user.more.iPhone)...,都是会触发 watch 方法的。

Vue3中的watch监听(vue中watch监听对象的变化)

  5、监听对象中值为对象的属性

方式1:不用箭头函数,则可以不用deep:true

 方式二【推荐用箭头函数】:用箭头函数时,则必须加上{deep:true}才能触发监听

我们发现newValue和oldValue的值都是一样的, 这是因为它们的引用指向同一个对象/数组

 推荐用箭头函数监听对象的原因就是,我们可以通过以下方式来使新旧值不一样

如果直接监听对象,别说监听对象的改变了,直接原对象都监听不到,如下:

 总结:监听对象时,如果不关心旧值,那么直接监听对象更方便,因为不用手动设置deep为true;如果关心旧值,那么需要使用箭头函数,并序列化,设置deep:true

三、watchEffect

不用指明监视哪个属性,监视的回调用到哪个属性,就去监视哪个属性

watch可以访问新值和旧值,watchEffect不能访问。watch需要指明监听的对象,也需要指明监听的回调。watchEffect不用指明监视哪一个属性,监视的回调函数中用到哪个属性,就监视哪个属性。watch只有监听的值发生变化的时候才会执行,但是watchEffect不同,每次代码加载watchEffect都会执行。

<template> <div>nums:<input v-model="nums" /></div> <div>user.age:<input v-model="user.age" /></div> <button @click="user.more.iPhone = 22222">改变more</button></template><script setup>const nums = ref(1);const user = reactive({ name: "张三", age: 23, more: { iPhone: 1111, address: "aaa", },});watchEffect(() => { const x1 = nums.value; const x2 = user.age; const x3 = user.more.iPhone; console.log("watchEffect监听的回调执行了...");});watchEffect(() => { console.log("222222222...");});</script>
本文链接地址:https://www.jiuchutong.com/zhishi/293750.html 转载请保留说明!

上一篇:通往海滩的木板路,德国叙尔特岛 (© Kerstin Bittner/Westend61/Offset by Shutterstock)(通往海滩的木板有什么用)

下一篇:Antv/X6图编辑器的应用——流程图实现(anjedi编辑器)

  • 个人股权转让如何纳税
  • 印花税计提怎么计提
  • 源泉扣税什么意思
  • 个体户需要给员工交保险吗
  • 房租确认后能不退押金吗
  • 印花税购销合同计税金额怎么算
  • 财务报表可以补充分类吗
  • 加计扣除企业所得税季报申报
  • 个人借款给公司利息收入要交税吗
  • 通行费进项抵扣政策
  • 个人非专利技术转让属于什么收入
  • 低价股权转让是利空还是利好
  • 小规模纳税人收入超过500万怎么办
  • 金税盘费用到期
  • 外贸企业增值税表二填写流程
  • 预算会计的基本等式为
  • 企业对外投资需要哪些审批
  • 定金转为货款金额需要特别约定吗?
  • 利润表中的销售收入
  • 软件技术开发是什么
  • 民间非营利组织会计报表
  • award bios设置详解
  • 笔记本电脑bios设置
  • 资产报废对企业的好处
  • 返利给客户的账务处理
  • 怎么删除win10开机多余选项
  • 境外服务包括哪些内容
  • php数组函数输出《咏雪》里有多少"片"字
  • 原始凭证丢了怎么查帐
  • 没结婚生了小孩分手了怎么办?
  • 成本结转的科目
  • 金融企业贷款损失准备金计提比例
  • iis制作网页
  • code structure
  • codeignitor
  • 分享2款CSS3母亲节主题寄语文字动画特效
  • 安装充电桩电费怎么收
  • 服装制造行业成本占比
  • 员工出差过程中意外死亡算工伤吗
  • 增值税负数要结转
  • 超市小票可以作为证据吗
  • python怎么用
  • php上传不了文件
  • 没有发票怎么做收入
  • 企业低值易耗品的摊销方法有
  • sql server 2008简介
  • 个人独资企业法人可以发工资吗
  • 弥补亏损的会计科目有哪些
  • 该商品不可进行有物流发货
  • 购买税控盘费用能全额抵扣吗
  • 我国居民企业判断标准
  • 暂估入库结转成本
  • 银行证书费入什么科目
  • 税务报表工会经费是按什么交了
  • 属于费用类的会计科目有哪些
  • 剩余股利政策发放股利后的年末未分配利润
  • ntfs win98
  • solaris 安装
  • centos设置终端快捷键
  • mac用ntfs文件夹读写ntfs硬盘
  • linux awk排序
  • linux文件后缀名解释
  • linux各种命令
  • linux中密码信息存在哪个文件
  • linux硬盘io
  • android环境搭建教程
  • dos命令/s
  • 如何使用nodejs
  • bootstrap 标签
  • bootstrap要学吗
  • js获取选中的checkbox
  • unity3D游戏开发
  • python设计作品
  • 动态生成类对象
  • js手势放大缩小
  • 注销税务说明
  • 上海增值税怎么报税流程
  • 税务一证通进入哪个网站
  • 为什么要进行进气歧管真空度检测
  • 江西公积金提取代办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号