欢迎光临,了解微信小程序开发,就上易用通!

微信小程序 setData 的坑

发布:2018-01-24 16:21浏览: 来源:网络 作者:tianshu

最近在使用微信小程序的setData时,遇到了以下问题。如下:

官网文档在使用setData()设置数组对象的某个元素的属性时,是这么使用的:

 

  1. Page({
  2. data: {
  3. array: [{text: 'init data'}],
  4. },
  5. changeItemInArray: function() {
  6. this.setData({
  7. 'array[0].text':'changed data'
  8. })
  9. }
  10. })

使用了 ‘array[0].text’ : ‘changed data’ 这样的值。但在实际使用中,我们对数组的中的某个元素的设置是动态的。即 我们通常应该是 ‘array[‘+index+’].text’ : ‘changed data’ ,其中index应该是一个动态的数字。但显然,这样是无法使用在对象的key中的。

所以,我只能使用了一个变通的方法。如下:

 

  1. var param = {};
  2. var string = "array["+index+"].text;
  3. param[string] = 'changed data';
  4. that.setData(param);

即提前把对象准备好。

希望以后可以有更好的方法。





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。