微信小程序点击预览图片urls should be Array instead of Object错误解决方法|三体教程
文章目录

微信小程序点击预览图片urls should be Array instead of Object错误解决方法

昨天在开发微信小程序的时候,要实现点击图片预览大图的功能。

没想到遇到一个问题,提示错误:VM6384:1 previewImage:fail parameter error: parameter.urls should be Array instead of Object;

微信小程序点击预览图片

意思就是说urls后面要是数组。

而我的数据是这样的,于是用typeof看了一下,发现类型是object。

微信小程序点击预览图片

折腾了很久,终于找到了解决办法。

就是将object里面需要用到的值取出来,重新push到一个新数组里面。

然后又遇到问题了,想的是直接用for来遍历。

没想到的是object.length没用,得到的结果是undefined。

其实这样是不行的,应该先使用Object.keys()方法把对象的key存储成一个array,然后再array.length就可以了。

下面是完整代码。

wxml文件

<view class="item" wx:for="{{picdata}}" wx:key="key">
<image src="{{item.xwp_pic}}" data-index='{{index-1}}' bindtap="viewbigimg"></image>
</view>

js文件

viewbigimg:function(e){
//console.log(e);
var index = e.currentTarget.dataset.index;
var imgArr = [];
var objkeys = Object.keys(this.data.picdata);
for(var i=1;i<=objkeys.length;i++){
imgArr.push(this.data.picdata[i]["xwp_pic"]);
}
//console.log(imgArr)
wx.previewImage({
current: imgArr[index],//当前图片地址
urls: imgArr
})
}

本文网址:http://www.santii.com/article/205.html

  • 1楼 [2018-06-04]感谢  大神


数据更新时间:2018-08-15