收藏
回答

如何将数据库查询出的数据在wxml中显示出来?

我在js文件中已经通过如下代码将数据库中的数据查询出来了。

db.collection("teachers")

.get()                   //获取根据查询条件筛选后的集合数据

 .then(res => {

console.log(res.data)

})

console.log也显示出所有数据了。请问各位大神,如何将res.data中的内容在wxml中列示?

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

3 个回答

  • 余生
    余生
    2023-09-27
    this.setData({
     list: res.data
    })
    


    <view wx:for="{{list}}" wx:key="index">
      <view>{{item.name}}</view>
      <view>{{item.sex}}</view>
    </view>
    
    2023-09-27
    有用 2
    回复 1
    • ljh
      ljh
      2023-09-27
      ReferenceError: res is not defined
          at pi.onLoad (teachers.js? [sm]:32)
          at pi.<anonymous> (WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1)
          at pi.s.__callPageLifeTime__ (WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1)
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at Function.br (WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1)(env: Windows,mp,1.06.2308310; lib: 3.1.0)


      报错显示res没定义,怎么定义啊?
      2023-09-27
      回复
  • optimistic
    optimistic
    2023-09-27

    所有的数据都必须通过 this.setData 才能在 wxml 渲染,微信js逻辑和渲染层是分开的,需要手动 setData 传送数据到渲染层进行渲染,js 访问这个数据用 this.data.xx

    2023-09-27
    有用 1
    回复 1
    • ljh
      ljh
      2023-09-27
      我就是不知道用什么方式传送到wxml中。用上面两位老师的方法后,又显示res未定义。真是抱歉,打扰大家了。
      2023-09-27
      回复
  • 正青春
    正青春
    2023-09-27

    比如你获取页面轮播图数据

    js:

    var that = this;
    that.setData({
        banners:res.data
    })
    

    wxml:

    <view class="banner">
        <swiper autoplay="true" circular="true" duration="1000" indicatorActiveColor="#fff" indicatorColor="#3e84bf" indicatorDots="true" interval="2500" style="height:{{Hei}}">
          <swiper-item wx:for="{{banners}}" wx:key="*this">
            <navigator url="{{item.url}}">
              <image bindload="imgH" class="slide-image" mode="widthFix" src="{{item.image}}"></image>
            </navigator>
          </swiper-item>
        </swiper>
    </view>
    
    2023-09-27
    有用 1
    回复 5
    • ljh
      ljh
      2023-09-27
      ReferenceError: res is not defined
          at pi.onLoad (teachers.js? [sm]:33)
          at pi.<anonymous> (WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1)
          at pi.s.__callPageLifeTime__ (WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1)
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1
          at Function.br (WASubContext.js?t=wechat&s=1695709943890&v=3.1.0:1)(env: Windows,mp,1.06.2308310; lib: 3.1.0)


      我试了下,报了这么个错。
      2023-09-27
      回复
    • 正青春
      正青春
      2023-09-27回复ljh
      你直接复制过去写肯定找不到res,你需要和后台有交互,要么就是给定指定数据
      2023-09-27
      回复
    • ljh
      ljh
      2023-09-27
      这段代码放到js中吧?URL:后应该输入什么内容?不好意思了啊。
      2023-09-27
      回复
    • 正青春
      正青春
      2023-09-27回复ljh
      你不是把数据拿到并打印出来了吗,在你上边写的代码中,打印数据前边加一行代码
      2023-09-27
      1
      回复
    • ljh
      ljh
      2023-09-27
      你确实厉害,按你的方法就解决了。太棒了。
      2023-09-27
      回复
登录 后发表内容