收藏
回答

setData 数据格式一直不被swiper解析 求大神

问题模块
API和组件

js文件:

onLoad: function () {

    var that = this;

    wx.request({

      url: 'https:/xxxxx',//上线的话必须是https,没有appId的本地请求貌似不受影响

      method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT  

      // header: {}, // 设置请求的 header  

      dataType:'json',

      success: function (res) {

        console.log(res.data);

        that.setData({

          sz:res.data

        })

       

      },

    });


请求到的数据:[{"image":"\/static\/index\/picture\/banner1.jpg"},{"image":"\/static\/index\/picture\/banner2.jpg"},{"image":"\/static\/index\/picture\/banner3.jpg"}]

xml文件:

<swiper class="swiper" indicator-dots="true" autoplay="true" interval="5000" duration="1000">  

   <block wx:for="{{sz}}" wx:key='key'> 

    <swiper-item>  

     <image src="https:/xxxx/{{item.image}}" class="slide-image" mode="aspectFill"/>  

    </swiper-item>  

   </block>  

  </swiper> 


最后一次编辑于  2017-08-31  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

8 个回答

  • 曾华经
    曾华经
    2017-08-31

    图片地址的字符串拼接不对,还多个“/”


    2017-08-31
    赞同
    回复
  • MuZe!
    MuZe!
    2017-08-31

    请求过来的原数据直接复制到xml中可以正常显示,但是setData之后,数据就直接输出到模板了

    2017-08-31
    赞同
    回复
  • MuZe!
    MuZe!
    2017-08-31


    这个是xml中{{sz}}的结果

    2017-08-31
    赞同
    回复
  • 沖沖
    沖沖
    2017-08-31

    res.data是个json字符串吧,改为JSON.parse(res.data)

    2017-08-31
    赞同
    回复
  • 曾华经
    曾华经
    2017-08-31

    setData后你可以调试模式看下wxml中实际的src字符串是如何的?

    2017-08-31
    赞同
    回复
  • MuZe!
    MuZe!
    2017-08-31


    数据没有取到,但是循环了好多次,好像是死循环

    2017-08-31
    赞同
    回复
  • MuZe!
    MuZe!
    2017-08-31

    改为JSON.parse(res.data)   后报错啊

    2017-08-31
    赞同
    回复
  • 曾华经
    曾华经
    2017-08-31

    沖沖 所说res.data是一个字符串,必须先解析JSON.parse(res.data)再setData,wxml里拼接字符串改下

      <image src="{{“https://xxxx”+item.image}}" class="slide-image" mode="aspectFill"/>  


    2017-08-31
    赞同
    回复