小程序深层setData报错问题

本文探讨了在小程序中遇到的深层数据设置问题,当尝试通过`setData`更新复杂对象路径时,编译器和运行时可能出现错误。通过示例展示了如何正确使用中括号和字符串模板来解决此类报错,确保能够成功更新深层数据。同时提醒开发者理解这一机制的重要性。
摘要由CSDN通过智能技术生成

小程序深层setData报错问题

当我们给深层的data赋值时,可能会这么做
例:

this.setData({order.extraInfo.receivers[rindex].distance:distance[rindex]})
//编译器会提示报错

此时,我们在key的最外部加上[ ]

this.setData({[order.extraInfo.receivers[rindex].distance]:distance[rindex]})
//编译器能过,实际运行时会报XXX is not defined

所以我们不仅要加中括号,还要再加上’ '来包裹住它

this.setData({['order.extraInfo.receivers['+rindex+'].distance']:value})
//这样就能跑了

———————————————————————————————————
//TODO
//搞清楚原理后再更

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值