收藏
回答

云开发渲染轮播图,不知道为什么渲染不出来?

<swiper>
    <swiper-item  wx:for="{{image}}"  wx:key="id">  
        <image src="{{item.image}}"></image>
    </swiper-item>
</swiper>



wx.cloud.database().collection('banner').get({
      success: function(res) {
        // res.data 包含该记录的数据
        console.log("图片记录",res)
        console.log(res.data)
        that.setData({
          image:res.data
        })
      }
      
    })

回答关注问题邀请回答
收藏

4 个回答

  • 老张
    老张
    2022-03-02
    1、能不用cloudID就不用cloudID,换成wx.cloud.getTempFileURL
    


    2022-03-02
    有用 1
    回复 2
    • 我我我我我我想
      我我我我我我想
      2022-03-03
      试了下 好像不行
      2022-03-03
      回复
    • Trying
      Trying
      2022-03-15回复我我我我我我想
      你的问题解决了嘛,我现在出现了和你一样的问题,在wx:for里面渲染cloudid就报错,单独拿出来 就行,
      2022-03-15
      回复
  • Charlie
    Charlie
    2022-03-04

    你的res.data是个数组,数组的第一项是一个对象,有两个属性,一个叫image,是个数组;另一个叫_id,是个字符串。

    所以你的res.data[0].image才是你的图片数组,所以代码是

    that.setData({
      image:res.data[0].image
    })
    


    你这个应该是上传图片的时候数据结构乱了,应该在上传图片那里优化一下

    2022-03-04
    有用
    回复
  • 15
    15
    2022-03-03

    感觉你的json结构有点奇怪啊。that.setData里面改成 image:res.data[0],src="{{item.image}}" 改成 src="{{item}}" 试试。而且最好不要都命名为image吧,逻辑容易乱,for循环那里可以命名为images啊

    2022-03-03
    有用
    回复 4
    • 我我我我我我想
      我我我我我我想
      2022-03-03
      我试试,昨晚改了一下能显示一张图片;下面这样能显示一张图片 就是不循环
      2022-03-03
      回复
    • 15
      15
      2022-03-03回复我我我我我我想
      因为你的wx:for传的不是数组吧,先改个命名吧,然后自己从setData那里重新梳理一下逻辑,你的json结构有点奇怪
      2022-03-03
      回复
    • 15
      15
      2022-03-03回复我我我我我我想
      res.data[0].image才是你要的数据吧
      2022-03-03
      回复
    • 我我我我我我想
      我我我我我我想
      2022-03-03
      看起来好像是这样,我试试
      2022-03-03
      回复
  • 我我我我我我想
    我我我我我我想
    2022-03-02

    单独图片链接我试了,可以渲染出来,就是从云数据库拿图片,渲染不出来,而且还报错

    2022-03-02
    有用
    回复
登录 后发表内容