wxml
<swiper-item wx:for="{{banneritem}}">
<image src="{{bannerurl}}"></image>
</swiper-item>
javascript
if (res.data.code == 0) {
// console.log(res);
for(let i =0;i< res.data.messge.length ; i++){
urlImg += res.data.messge[i].For_img;
}
_this.setData({
banneritem : res.data.messge.length,
})
console.log(urlImg);
}
代码如上,我有4个数据,的确是遍历出来了4个内容,但图片全部是一样的,全部是第一张,微信小程序好像没有[i++]这个,我查了网上方法都是用item,但都没看懂,请指点
你的对象指定的不对,wx:for之后还有 wx:key
bannerurl数据内容,banneritem的数据贴出来看下,wx:for默认遍历到的数组项是item,下标是index。可以在同一个标签内用wx:for-item="新item名称" wx:for-index="新index",重新命名。
图片加载失败是由于banneritem中的存储的项取值有问题,得知道banneritem数组的结构才能获取对应的地址。如果bannerurl有附加路径,遍历的时候也要加上路径,除非banneritem中图片路径已经包含图片完整路径了
<swiper-item wx:for="{{banneritem}}" wx:for-item="item" wx:key="定义下标变量">
<image src="{{item.name}}"></image>
</swiper-item>
或者 是一维数组的情况下
<swiper-item wx:for="{{banneritem}}" >
<image src="{{item}}"></image>
</swiper-item>
if (res.data.code == 0) {
let url = [];
// console.log();
for(let i = 0; i < res.data.messge.length;i++){
url += res.data.messge[i].For_img;
}
_this.setData({
banneritem : res.data.messge.length,
bannerurl : url
})
console.log(url);
}
js代码,我觉得应该是js代码出问题了
你写错了 list 是 bannerurl 应该放在我上图的list位置,-itme定义对象名,取值直接 对象名点字段就可以了