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

  • 拼多多如何关闭拼小圈功能(拼多多如何关闭拼小圈的购买记录)

    拼多多如何关闭拼小圈功能(拼多多如何关闭拼小圈的购买记录)

  • 苹果网易云怎么删除歌单(苹果网易云怎么扫描本地音乐)

    苹果网易云怎么删除歌单(苹果网易云怎么扫描本地音乐)

  • 注销qq号好友可以看到吗(注销qq号好友可以看到聊天记录吗)

    注销qq号好友可以看到吗(注销qq号好友可以看到聊天记录吗)

  • 苹果se2支持双卡双待(苹果13可以双卡双待不)

    苹果se2支持双卡双待(苹果13可以双卡双待不)

  • 手机看多了对人有什么影响(手机看多了对人有什么伤害)

    手机看多了对人有什么影响(手机看多了对人有什么伤害)

  • mate30pro快充多少w(华为mate30pro快充多少钱)

    mate30pro快充多少w(华为mate30pro快充多少钱)

  • 华为art-tl00x是什么型号

    华为art-tl00x是什么型号

  • 苹果11只显示一个卡怎么办(苹果11只显示一张卡)

    苹果11只显示一个卡怎么办(苹果11只显示一张卡)

  • 滴滴打车可以预约第二天的车吗(滴滴打车可以预约时间吗怎么预约)

    滴滴打车可以预约第二天的车吗(滴滴打车可以预约时间吗怎么预约)

  • 位置共享怎么发qq(位置共享怎么发送给微信好友)

    位置共享怎么发qq(位置共享怎么发送给微信好友)

  • 安卓root是什么意思(安卓root的好处和坏处)

    安卓root是什么意思(安卓root的好处和坏处)

  • win10realtek高清晰音频管理器在哪(win10realtek高清晰音频管理器设置)

    win10realtek高清晰音频管理器在哪(win10realtek高清晰音频管理器设置)

  • 淘宝菜鸟驿站怎么删除(淘宝菜鸟驿站怎么送货上门)

    淘宝菜鸟驿站怎么删除(淘宝菜鸟驿站怎么送货上门)

  • 三星怎么滚动截图(三星如何滚动截屏吗)

    三星怎么滚动截图(三星如何滚动截屏吗)

  • pd充电口是干啥的(pd充电口是干啥用的)

    pd充电口是干啥的(pd充电口是干啥用的)

  • 韩国苹果11什么时候上市(韩国iphone11)

    韩国苹果11什么时候上市(韩国iphone11)

  • 如何打开抖音消息提示(抖音消息栏在哪里)

    如何打开抖音消息提示(抖音消息栏在哪里)

  • 花呗新人版点哪里升级(花呗新人版怎么用)

    花呗新人版点哪里升级(花呗新人版怎么用)

  • 怎么破解指纹锁(怎么破解指纹锁屏手机)

    怎么破解指纹锁(怎么破解指纹锁屏手机)

  • Win10系统如何修改磁盘盘符(Win10系统如何修改开机密码)

    Win10系统如何修改磁盘盘符(Win10系统如何修改开机密码)

  • kenserv.exe是什么进程 有什么作用 kenserv进程查询(keyemain.exe是什么)

    kenserv.exe是什么进程 有什么作用 kenserv进程查询(keyemain.exe是什么)

  • Yolov5实例分割Tensorrt部署实战(yolov5实例分割原理详解)

    Yolov5实例分割Tensorrt部署实战(yolov5实例分割原理详解)

  • 【前端】重学vue,vue生命周期基础知识了解一下(前端使用vue的好处)

    【前端】重学vue,vue生命周期基础知识了解一下(前端使用vue的好处)

  • 积分抵现是什么意思
  • 金蝶财务系统录入发票
  • 特殊贸易区域怎样选择
  • 公司代扣代缴个人所得税如何退税
  • 支付一年房租计入什么科目
  • 房地产结转收入是什么意思
  • 当期未开票过收入,以后开票怎么做会计分录
  • 企业用商业汇票支付购货款
  • 月末计算各种税费表格模版
  • 发票专用章管理办法
  • 一般纳税人怎么交税
  • 小规模纳税人开票额度
  • 免税项目进项税为什么不可以抵扣
  • 交强险是不是只要有发票就可以报销
  • 金税盘开票出现离线发票金额超出限制怎么设置?
  • 根据规定签发汇票凭证必须记载的事项有
  • 企业所得税季报人数怎么填
  • windows10如何关闭病毒和威胁防护设置
  • 新版edge浏览器兼容ie
  • win11预览版怎么变回正式版
  • 员工出差时法律规定
  • 支付土地补偿款能以收据入账吗
  • win 7系统如何备份
  • 收到汇算清缴退税账务处理
  • 土地使用税怎么交税
  • 原材料结转成本的会计分录例题
  • 个人医疗保险怎么取出来
  • elementui ts
  • 图像相似性度量
  • 应收账款的定义和特点
  • php数组分类
  • 优先股票与普通股票相比,其优先权主要指
  • yolov5实例分割原理详解
  • 毕业设计基于web难还是JAVA
  • php的输出语句
  • 公章盖的字不完整有效吗
  • 资本化利息支出现金流量表计入哪里
  • 进口关税增值税如何做账
  • 债权资产包括哪些会计科目
  • 保洁公司保洁服务税率
  • 境外公司汇款给个人要交税吗
  • 公司支付宝收款码怎么支持信用卡
  • ibm db2认证
  • 企业财务费用为负好不好
  • 增值税的预缴税怎么算
  • 企业如何做增值业务
  • 高新技术企业补助需要交所得税吗
  • 用留存收益筹资为什么没有占用费
  • 公司支出发票
  • 固定资产一次性扣除账务处理
  • 成本结转怎么结转
  • 为取得交易性金融资产支付的手续费
  • 出口货物没有进项发票用什么平台申报
  • 可转换债券是什么资本
  • 新办企业必须经过什么核准登记
  • 解析包错误怎么解除
  • windows任务管理器打不开
  • macbook air xcode开发
  • window10突然激活失效
  • win7安全模式
  • Win8开启SmartScreen筛选器保护上网安全
  • 如何写出一篇游戏活动案例
  • ES6 javascript中class类的get与set用法实例分析
  • 怎么配置nodejs
  • exit(1)和return的区别
  • javascript对象的种类
  • Javascript this 函数深入详解
  • jquery.multiselect多选下拉框实现代码
  • 批处理/l
  • jquery简写符号
  • androidui框架
  • js检测类型的方法
  • javascript例题
  • 增值税月报怎么报
  • 安徽省定额发票真伪查询
  • 城镇土地使用税的计算公式
  • 车辆购置税完税证明怎么查询
  • ca如何办理退休手续办理流程
  • 农村信用社升级为什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设