微信小程序for循环怎么用item


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

img

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代码出问题了

img

你写错了 list 是 bannerurl 应该放在我上图的list位置,-itme定义对象名,取值直接 对象名点字段就可以了