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

  • 引流创收,店铺靠它活起来(店铺主要引流技巧)

    引流创收,店铺靠它活起来(店铺主要引流技巧)

  • excel怎么转化成word格式(EXcel怎么转化成表格)

    excel怎么转化成word格式(EXcel怎么转化成表格)

  • 支付宝小鸡饲料容量最大多少(支付宝小鸡饲料今天答题)

    支付宝小鸡饲料容量最大多少(支付宝小鸡饲料今天答题)

  • 毒超时未发货后果(毒app超时未发货卖家惩罚)

    毒超时未发货后果(毒app超时未发货卖家惩罚)

  • 100mbps全双工是什么意思(1.0gbps全双工和100mbps全双工那个速度快)

    100mbps全双工是什么意思(1.0gbps全双工和100mbps全双工那个速度快)

  • 显示器重影模糊是什么原因(显示器重影模糊拖尾是什么原因)

    显示器重影模糊是什么原因(显示器重影模糊拖尾是什么原因)

  • 充电插口坏了怎么修(充电插口坏了怎么接电源)

    充电插口坏了怎么修(充电插口坏了怎么接电源)

  • 手机变成3g网怎么回事(手机变成3g网络怎么弄回4g)

    手机变成3g网怎么回事(手机变成3g网络怎么弄回4g)

  • 淘宝自动扣费怎么关闭(淘宝自动扣费怎么申请退款)

    淘宝自动扣费怎么关闭(淘宝自动扣费怎么申请退款)

  • iphone序列号g开头产地(iphone序列号g开头的是什么版本)

    iphone序列号g开头产地(iphone序列号g开头的是什么版本)

  • 用什么软件拦广告(什么软件可以广告拦截)

    用什么软件拦广告(什么软件可以广告拦截)

  • flash怎么描边(flash怎么描图片然后上色)

    flash怎么描边(flash怎么描图片然后上色)

  • iqooneo有红外线功能吗(iqooneo3红外线)

    iqooneo有红外线功能吗(iqooneo3红外线)

  • 华为手机热点资讯怎么取消(华为手机热点资讯弹窗怎么彻底删除)

    华为手机热点资讯怎么取消(华为手机热点资讯弹窗怎么彻底删除)

  • wps么不能分享文件了(wps怎么无法分享文档)

    wps么不能分享文件了(wps怎么无法分享文档)

  • 背夹充电宝充电步骤(背夹充电宝充电慢)

    背夹充电宝充电步骤(背夹充电宝充电慢)

  • 准时化jit的含义(准时化的前提)

    准时化jit的含义(准时化的前提)

  • 位置是先行还是先列(位置与方向是先行还是先列)

    位置是先行还是先列(位置与方向是先行还是先列)

  • 3dtouch怎么按出来(3dtouch有啥用怎么设置好)

    3dtouch怎么按出来(3dtouch有啥用怎么设置好)

  • 手机怎么打印(手机怎么打印高考准考证)

    手机怎么打印(手机怎么打印高考准考证)

  • 淘宝怎么添加收货地址(淘宝怎么添加收件地址)

    淘宝怎么添加收货地址(淘宝怎么添加收件地址)

  • 苹果手机发朋友圈文字折叠怎么办(苹果手机发朋友圈会显示手机型号吗)

    苹果手机发朋友圈文字折叠怎么办(苹果手机发朋友圈会显示手机型号吗)

  • 拉黑后红包能退回吗(拉黑好友红包退还有提示吗)

    拉黑后红包能退回吗(拉黑好友红包退还有提示吗)

  • 三星s9可以反向充电吗(三星s9能不能反向充电)

    三星s9可以反向充电吗(三星s9能不能反向充电)

  • 弗拉维亚港,意大利撒丁岛 (© Visualframing/Adobe Stock)(弗拉维亚王朝)

    弗拉维亚港,意大利撒丁岛 (© Visualframing/Adobe Stock)(弗拉维亚王朝)

  • MxNet(GPU版本)安装及相关配置(CUDA,CuDNN,Graphviz,d2l,虚拟环境配置)及最终建议(mxnet github)

    MxNet(GPU版本)安装及相关配置(CUDA,CuDNN,Graphviz,d2l,虚拟环境配置)及最终建议(mxnet github)

  • 营业外收入需要缴纳什么税
  • 补缴以前年度附加税怎么做账
  • 财务软件和报税软件区别
  • 借款合同怎么做
  • 小微企业所得税税率2.5% 10% 25%
  • 预提费用在资产负债表哪个科目
  • 进项税发票认证期限多长时间
  • 企业所得税不征税收入
  • 企业购买的雇主责任险
  • 交通违章罚款可以在手机上交吗
  • 厂家返利计提会计分录
  • 网上银行 电子回单
  • 公司车无偿过户给个人需要什么手续
  • 企业购买国债逆回购需要缴纳增值税吗
  • 购进增值税专用发票怎么填开
  • 建筑业预交增值税最新政策
  • U盘复制文件提示文件过大
  • 会计如果做假账
  • 固定资金的特点
  • 进项税额认证了也就是抵扣了吗?
  • 个体户一般纳税人可以开13个点的专票吗
  • 补交上一年度的企业所得税费用的分录
  • scchost.exe - scchost是什么进程 有什么用
  • php字符串变量
  • linux安装linux
  • 期房怎么交易流程
  • 贷款利息如何计算年利率
  • 固定资产全额折旧
  • 大型绿萝的养殖方法
  • 纺织企业成本核算表
  • 材料采购业务流程
  • vueconfigjs配置proxy 无效
  • 分包工程的账务处理
  • 购买原材料月末需要结转吗
  • 工程建设的项目的划分?
  • phpmailer 使用
  • 冲回上年计提费用
  • windows安装php运行环境
  • framework在哪里打开
  • Windows 10 python 3.9安装运行Mockingbird--拎包入住功略
  • window11预览版怎么样
  • 使用筷子就餐会不会传染乙肝病毒
  • 中小企业的资产负债率均值是多少
  • 企业年度报告包括哪些内容
  • 股权出质有时间限制吗
  • jvm jmm
  • 增值税发票丢失可以重开吗
  • 我向银行借钱我是贷方还是借方
  • mysql数据库环境
  • 增值税普通发票和专用发票有什么区别
  • 短期借款的实际利率与现金折扣的关系
  • 股票期权的所得税处理
  • 营改增后哪些费用可以抵扣
  • 企业商品报废如何处置
  • 小规模纳税人销售自己使用过的物品
  • 库存商品对外销售会计分录
  • 哪些合同需要缴税
  • 退休后的税费
  • 仓库管理办法有哪些
  • 申报财产租赁合同怎么写
  • 确认递延所得税资产账务处理
  • 企业会计准则中职工薪酬
  • 固定资产一次性扣除账务处理
  • 建筑业营改增的主要内容
  • 账簿设计要以()为前提
  • 在windowsxp中删除文件
  • vs2008如何使用
  • frameworkservic.exe是什么进程 有什么作用 frameworkservic进程查询
  • 一个监控网卡流量够用吗
  • 编程用到的所有函数
  • Javascript事件实例详解
  • 修改cmdline
  • windows下使用什么命令查看监听端口
  • 对xmlHttp对象方法和属性的理解
  • 深入理解计算机系统
  • jquery 导航
  • 上海公积金快速提取
  • 河南省电子票据查询平台
  • 汽车维修费税率是13还是6
  • 广东省地方税务局发票在线应用系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设