位置: IT常识 - 正文

watch监听不到 props变量的变化(watch监听不到props数据改变)

编辑:rootadmin
watch监听不到 props变量的变化

目录

一、问题

二、解决方法

三、总结


一、问题

推荐整理分享watch监听不到 props变量的变化(watch监听不到props数据改变),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:watch监听不到 store数据变化,watch监听不到对象变化,watch监听不到props数据改变,watch监听不到props传来数据的变化,watch监听不到对象数组的变化,watch监听不到对象变化,watch监听不到props传来数据的变化,watch监听不到props,内容如对您有帮助,希望把文章链接给更多的朋友!

1.父组件向子组件传参变量 detailData:{tableData:devicelist}。在父组件中detailData是响应式的。

在第一层子组件中接收detailData,并且通过:detailData="detailData.tableData"传递给第二层子组件,   在第二层子组件中使用如下代码监听deailData的变化,用watch就是监听不到detailData的变化。

watch( () => props.detailData, (newval,oldval) => { //监听到 detailData的变化,我需要执行一些函数 console.log("watch detailData") } );二、解决方法

1.检查了监听的代码,正确的呀,没有问题

2.使用devtools插件检查,看到子组件中的detailData确实是发生了变化的呀,怎么我就是监听不到呀。很是离谱。、

3.是不是 detailData不是响应式的呢?也不是呀,使用 isReactive(detailData),检查了是响应式的呀。

4.到底是为什么呀,我真的没有见过这么离谱的事情,在第一层子组件中都监听不到 detailData的变化。尝试在父组件中监听 detailData的变化,结果竟然除了第一次变化,之后的变化的监听不到——离奇呀,devtools告诉我子组件的值都变了,只是没有渲染上去;父组件的监听却告诉我detailData的值压根就没有变化。

watch监听不到 props变量的变化(watch监听不到props数据改变)

5.看到给detailData赋值的地方,于是打印了一下给detailData赋的值,但是也只能打印第一次赋值的情况,后续赋值也打印不出来呀。

console.log("item",isRef(item),item,isProxy(item)) Object.assign(detailData, { tableData: item });

6.最后的最后:我要求detailData变化,就是要求 上面代码中的 item(deviceList)一直变化。竟然发现有一处写了如下一段代码,直接给devicelist赋值,devicelist不就是会失去响应式吗?可是为啥 isProxy()判断竟然是 true?

没细想把这段直接给响应式数据 deviceList赋值的代码注释了,竟然好了。。。。。。。

deviceList = deviceList.map((element) => { if (!element.isWarning) { element.isWarning = 0; } if (!element.level) { element.level = 0; } if (!element.remainTime || element.remainTime === '- -') { element.tempRemainTime = Infinity; } else { element.tempRemainTime = element.remainTime; } return element; });三、总结

1.也是绝了,问题倒是解决了,是和响应式有关系,但是又不是完全是因为响应式。因为isProxy()---判断数据是否是 reactive或 ref 数据类型,判断确实是 true呀。真的是自相矛盾,所以我真的也是很迷惑。如有大佬知道原因,欢迎评论区指教!

2.上面的直接原因表明当你在setup中希望一个reactive数据是响应式的,绝对不可以用  =  直接给数据赋值。上面注释的代码,我也改成for循环了,就没有问题了。

3.watch监听不到,你可以看看你希望变化的数据  是否存在 被直接用 = 赋值的情况

4.解决之前,我也看了其他的博客,都没有解决我的问题,所以特此记录一下。

/*

希望对你有帮助!

如有错误,欢迎指正,非常感谢!

*/ 

本文链接地址:https://www.jiuchutong.com/zhishi/297714.html 转载请保留说明!

上一篇:医学图像处理的SCI期刊和顶会(医学图像处理的步骤一是设计)

下一篇:node npm 下载,安装,使用 全网最全教程(npm安装node指定版本)

  • 微博的关注达到上限了怎么办?(微博的关注达到多少人)

    微博的关注达到上限了怎么办?(微博的关注达到多少人)

  • magicbook和matebook区别(magicbookair)

    magicbook和matebook区别(magicbookair)

  • 苹果11和pro有什么区别(苹果11和pro建议买哪一个)

    苹果11和pro有什么区别(苹果11和pro建议买哪一个)

  • 苹果降低白点值多少合适(苹果降低白点值调多少合适)

    苹果降低白点值多少合适(苹果降低白点值调多少合适)

  • iphone阻止来电的短信(iPhone阻止来电的短信怎么看)

    iphone阻止来电的短信(iPhone阻止来电的短信怎么看)

  • 笔记本电脑不关机就盖上盖子,这样好吗 (笔记本电脑不关机只休眠好不好)

    笔记本电脑不关机就盖上盖子,这样好吗 (笔记本电脑不关机只休眠好不好)

  • 手机拉黑了还能发过去信息吗(手机拉黑了还能加微信吗)

    手机拉黑了还能发过去信息吗(手机拉黑了还能加微信吗)

  • 华为Nova5怎么朗读备忘录(华为nova5怎么朗读备忘录)

    华为Nova5怎么朗读备忘录(华为nova5怎么朗读备忘录)

  • 微信号登不上怎么把钱取出来(微信号登不上怎么解除实名认证)

    微信号登不上怎么把钱取出来(微信号登不上怎么解除实名认证)

  • 移动互联网的特点有(移动互联网的特点)

    移动互联网的特点有(移动互联网的特点)

  • 抖音账号封禁了是不是啥都看不到(抖音账号封禁了还可以重新注册吗)

    抖音账号封禁了是不是啥都看不到(抖音账号封禁了还可以重新注册吗)

  • 优酷闪退是怎么回事(优酷app闪退怎么办)

    优酷闪退是怎么回事(优酷app闪退怎么办)

  • oppor11上市时间(oppor11手机那年上市)

    oppor11上市时间(oppor11手机那年上市)

  • 云计算有哪几种部署模型(云计算有哪几种服务类型)

    云计算有哪几种部署模型(云计算有哪几种服务类型)

  • 微信5分钟以上视频怎么发给好友(微信5分钟以上视频怎么发送朋友)

    微信5分钟以上视频怎么发给好友(微信5分钟以上视频怎么发送朋友)

  • word批量修改英文字体(word怎么批量替换英文)

    word批量修改英文字体(word怎么批量替换英文)

  • 华为更新10.0系统升级后改变了什么(华为版本更新10)

    华为更新10.0系统升级后改变了什么(华为版本更新10)

  • usb里面四条线那两条是电源线(usb口四根线都是什么线)

    usb里面四条线那两条是电源线(usb口四根线都是什么线)

  • 拼多多我的现金在哪里(拼多多我的现金提现是真的吗)

    拼多多我的现金在哪里(拼多多我的现金提现是真的吗)

  • 软件由程序和什么三部分组成(软件由计算机程序和什么组成)

    软件由程序和什么三部分组成(软件由计算机程序和什么组成)

  • 小米8如何进入快充模式(小米8如何进入测试模式)

    小米8如何进入快充模式(小米8如何进入测试模式)

  • 趣键盘怎么直接发送文字(趣键盘不能用了)

    趣键盘怎么直接发送文字(趣键盘不能用了)

  • apple care 如何换机(apple care换新)

    apple care 如何换机(apple care换新)

  • 学习通如何退出班级

    学习通如何退出班级

  • 苹果8用的什么基带(苹果8用的什么系统)

    苹果8用的什么基带(苹果8用的什么系统)

  • 步数宝打不开怎么办(步数宝不显示步数)

    步数宝打不开怎么办(步数宝不显示步数)

  • Win10系统强制进入恢复模式的方法(win10开机强制进入)

    Win10系统强制进入恢复模式的方法(win10开机强制进入)

  • fan.exe是什么进程 fan进程是什么文件产生的(elf.exe是什么程序)

    fan.exe是什么进程 fan进程是什么文件产生的(elf.exe是什么程序)

  • 如何设置3G无线路由器 设置3G无线路由器的方法(3gwifi怎么用)

    如何设置3G无线路由器 设置3G无线路由器的方法(3gwifi怎么用)

  • 印花税会计分录怎么做
  • 稿费的个人所得税税率是多少
  • 投资控股型公司什么意思
  • 为什么要进行建筑工程预算
  • 如何保证企业生存发展
  • 交易性金融资产和其他权益工具投资的区别
  • 私营独资企业可以变更法人吗
  • 取得的进项发票当月不抵扣怎么做账
  • 违约金收入需要缴纳印花税吗
  • 年初未分配利润借方增加还是减少
  • 担保费和评审费计入什么科目
  • 酒店代金券怎么做账
  • 延迟付款确认是怎么回事
  • 发票作为付款凭证的案例
  • 税务局开票需要带什么材料
  • 增值税附加税减半征收政策
  • 如何界定广告
  • 电子票据查询打印
  • 公司给供电局转账违法吗
  • 2021年个人社保代扣失败
  • 琥珀销售用语
  • 现金股利属于什么所得
  • windows10如何开启自动更新
  • cmos电池耗尽
  • 中国石化开的增值税票是几个点的
  • 税盘没反应
  • 怎么区分债券折价还是溢价
  • 收到预付款计入什么科目
  • 企业法人看病费用能报销吗
  • 企业所得税具体纳税筹划案例
  • 退回已修改是什么意思
  • 企业银行贷款利率2023
  • vue 自动部署
  • 基西米河生态退化原因
  • php的exec
  • Joomla调用系统自带编辑器的实现方法
  • 资金集中度指标公式
  • 前端可以用jsp写吗
  • php搜索功能怎么实现
  • 公司租赁个人车辆怎么开发票
  • 赠品发票金额为零怎么办
  • java中的泛型的好处
  • mysql如何上锁
  • 企业官网用什么系统
  • 实收资本核算有哪些要求
  • 抵扣进项税是怎么算的
  • 数据库关键字有哪些
  • 公司开发新产品的建议
  • 折旧啥意思
  • 电子承兑过期了
  • 代收代缴的水电费怎么开票
  • 纯外贸企业进项税怎么抵扣
  • 投资利税率计算方法
  • 工业用电交税怎么算
  • 未交增值税的核算方法
  • 人力资源公司代发工资可以开专用发票吗
  • 暂估成本的两种形式
  • 合并注销和注销的区别
  • 商业企业费用的计算方法
  • mysql有外键数据输入
  • xp系统打开软件慢怎么解决
  • 商用计算机英文
  • 在linux操作系统中
  • asmproserver.exe是什么进程 asmproserver进程信息查询
  • os x10.11el capitan beta2下载地址
  • win8.1启动项设置
  • win10如何创建一个新的用户
  • unity shader
  • awk中RS、ORS、FS、OFS的区别和联系小结
  • 超出div的部分隐藏
  • js动态改变div内容
  • mysql批量建表脚本
  • unity 优化
  • jQuery插件是什么
  • acrag
  • 普票怎么入账标识
  • 广州买房退税政策2020
  • 四川国家税务局官网
  • 地税局社保宣传标语
  • 个人所得税税收完税证明哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设