位置: 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指定版本)

  • mvc框架网页设计如果做一个展示品牌形象的网站,需要在设计上下功夫

    mvc框架网页设计如果做一个展示品牌形象的网站,需要在设计上下功夫

  • 磁盘碎片整理有什么好处(磁盘碎片整理)(磁盘碎片整理有什么作用)

    磁盘碎片整理有什么好处(磁盘碎片整理)(磁盘碎片整理有什么作用)

  • 喜马拉雅ai文稿怎么开启(喜马拉雅AI文稿开启)

    喜马拉雅ai文稿怎么开启(喜马拉雅AI文稿开启)

  • 钉钉老师可以看到学生分屏吗(钉钉老师可以看到学生分屏的内容吗)

    钉钉老师可以看到学生分屏吗(钉钉老师可以看到学生分屏的内容吗)

  • 网易云私信显示感叹号(网易云私信显示红色感叹号)

    网易云私信显示感叹号(网易云私信显示红色感叹号)

  • 台式机硬盘改移动硬盘(台式机硬盘改移动硬盘无法显示)

    台式机硬盘改移动硬盘(台式机硬盘改移动硬盘无法显示)

  • 荣耀8X怎么设置深色模式(荣耀8X怎么设置高清通话)

    荣耀8X怎么设置深色模式(荣耀8X怎么设置高清通话)

  • 红米10x有呼吸灯吗(红米10x有呼吸灯功能吗)

    红米10x有呼吸灯吗(红米10x有呼吸灯功能吗)

  • 指纹锁隔一会就滴滴响(指纹锁每隔一段时间就失灵)

    指纹锁隔一会就滴滴响(指纹锁每隔一段时间就失灵)

  • 华为p40支持40w快充吗(华为p40用40w快充可以吗)

    华为p40支持40w快充吗(华为p40用40w快充可以吗)

  • 笔记本自带摄像头吗(笔记本自带摄像头无法使用)

    笔记本自带摄像头吗(笔记本自带摄像头无法使用)

  • 为什么鸿业打开是cad界面(鸿业为什么破解不了)

    为什么鸿业打开是cad界面(鸿业为什么破解不了)

  • 苹果没有id怎么下载软件(苹果没有id怎么更新软件)

    苹果没有id怎么下载软件(苹果没有id怎么更新软件)

  • 苹果手表开机显示英文(苹果手表开机显示)

    苹果手表开机显示英文(苹果手表开机显示)

  • ping的过程中出现异常是什么意思(ping的过程中出现其他地址)

    ping的过程中出现异常是什么意思(ping的过程中出现其他地址)

  • vivo手机关机键在哪(vivo手机关机键失灵了怎么开机)

    vivo手机关机键在哪(vivo手机关机键失灵了怎么开机)

  • 气喘吁吁的意思(气喘吁吁的意思三年级)

    气喘吁吁的意思(气喘吁吁的意思三年级)

  • 荣耀note10怎么打开空调(荣耀note10怎么打开开发者选项)

    荣耀note10怎么打开空调(荣耀note10怎么打开开发者选项)

  • intmain和main的区别(intmain与main)

    intmain和main的区别(intmain与main)

  • 快手为什么关注不了别人(快手为什么关注的人突然没关注了)

    快手为什么关注不了别人(快手为什么关注的人突然没关注了)

  • 华为复制粘贴板在哪里(华为手机如何打开复制粘贴板)

    华为复制粘贴板在哪里(华为手机如何打开复制粘贴板)

  • GNSS及其定位原理,差分GNSS技术分析(gnss定位技术的应用前景)

    GNSS及其定位原理,差分GNSS技术分析(gnss定位技术的应用前景)

  • python如何获取列表的长度(python如何获取列表元素)

    python如何获取列表的长度(python如何获取列表元素)

  • 采矿权承包出去资源税
  • 如何计算土地增值税的增值额
  • 记账凭证红字冲销
  • 每个季度申报怎么申报?
  • 政府补助递延收益和其他收益的区别
  • 一般纳税人转让二手车增值税税率
  • 持有待售固定资产按照账面价值与可收回金额
  • 非货物贸易核查项下
  • 库存冲红是什么意思
  • 简易征收的项目是否可以实行30万免税
  • 累计折旧是费用岗负责的吗
  • 其他综合收益为什么要结转
  • 开完发票业务没收入需要确认收入入账吗?
  • 实物返利缴纳所得税吗?
  • 佣金可以直接转到个人账户吗
  • 一般纳税人有什么优惠政策
  • 建筑施工企业的分公司区域公司等较大的
  • 季度不超9万
  • 流转税率是什么意思
  • 全国增值税发票查询平台 手机版
  • 企业财务内部控制的主要内容有哪些
  • 财政资金安排促进高质量发展
  • 1697510490
  • 机器用润滑油怎么使用
  • 什么叫经济作物和粮食作物
  • 销售二手车减免税额会计分录
  • php技巧
  • 享受企业所得税优惠政策的农产品初加工范围
  • 苹果电脑录屏带麦克风
  • 广告公司的工程师好做吗
  • mediacache是什么文件夹
  • thinkphp错误日志目录
  • 公司年终奖怎么缴税
  • php_fileinfo作用
  • 混合筹资的定义
  • 应收账款净额可以是负数吗
  • 今日元宵节图片
  • 不符合政策和条件的成语
  • php如何实现
  • php-xml
  • vue 提示
  • vue挂载dom
  • Php数组转json 参数不带引号
  • 税收分类编码不存在什么意思
  • 餐饮营改增什么时候开始的
  • 成本分配明细表
  • 所得税汇算清缴前取得跨年发票
  • 小企业会计制度的适用对象是
  • 开票软件怎么增加开票员
  • sql批量替换值
  • 金蝶标准版怎么查应收应付款
  • 印花税免税项目有哪些
  • 个人所得税和投保的区别
  • 商家下单
  • 餐饮毛利率多少为合理范围
  • 航天信息的发票以什么形式导入开票信息
  • 小规模纳税人缴纳本月未交增值税
  • 冲减以前年度营业外收入分录
  • 堤防维护费税率
  • 红字发票如何做进项税转出
  • 所得税纳税调增会计需要做业务处理吗
  • 发票可以冲销几次
  • 企业清算的会计处理
  • freebsd怎么安装软件
  • linux 安装jmap
  • backtrack5教程
  • 产品密钥需要购买吗
  • 升级win10后东西还在吗
  • linux调整桌面分辨率
  • shell切分
  • Android AsyncTask简要分析
  • unity3d游戏开发标准教程pdf
  • 砂石需要缴纳资源税吗
  • 纳税人初次购买税控设备
  • 怎么打印纳税申报清单
  • 农产品核定扣除办法38号公告
  • 国家税务总局2019年45号公告解读
  • 公共暖气管道维修费用由谁承担
  • 为什么医保名字不一样
  • 中央财经大学法学院
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设