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

微信小程序 setData 的坑,util.randomString is not a function报错

发布:2018-04-17 11:03浏览: 来源:网络 作者:cola

 

作者:李留白,来自原文地址 
最近在使用微信小程序的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);

即提前把对象准备好。

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

 

二:Error之util.randomString is not a function

作者:古加文,来自原文地址  WAService.js:3 thirdScriptError  util.randomString is not a function;at “pages/index/index” page lifeCycleMethod onLoad function  TypeError: util.randomString is not a function 

微信小程序 setData 的坑,util.randomString is not a function报错(图1)  事情是这样的,楼主有个需求需要随机生成字符串,楼主便加入了一个方法到util中,在一个页面调用于是发生了这个问题,楼主不解啊,引用没有错误啊,为毛?  由于微信小程序的资源还很少,所以楼主一直没找到问题根源,最后终于在某个论坛楼主发现了,原来在util里面没有对外公开这个方法!!

解决方案: 

微信小程序 setData 的坑,util.randomString is not a function报错(图2)






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