为了账号安全,请及时绑定邮箱和手机立即绑定

谢老师:请问为何AppData明明看到有了一个数组(通过云函数BookingList调取的数据库中user'集合的数据),但始终没法渲染出来的原因,代码余下,求解答,感谢!

//云函数BookingList

const cloud = require('wx-server-sdk')

cloud.init()

const db = cloud.database()

const MAX_LIMIT = 100

exports.main = async (event, context) => {

// 先取出集合记录总数

const countResult = await db.collection('user').count()

const total = countResult.total

// 计算需分几次取

const batchTimes = Math.ceil(total / 100)

// 承载所有读操作的 promise 的数组

const tasks = []

for (let i = 0; i < batchTimes; i++) {

const promise = db.collection('user').skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()

tasks.push(promise)

}

// 等待所有

return (await Promise.all(tasks)).reduce((acc, cur) => {

return {

data: acc.data.concat(cur.data),

// errMsg: acc.errMsg,

}

})

}



//'user'集合中有一个数据库为:

  • "XXXd81"

  • "_openid":

    "XXXko"

  • "date":

    "2019-12-02"

  • "region":

    "广东省,XX市,XX区"

  • "Name":

    "类型名称"

  • "rubbishWeight":

    "8"

  • "totalPrice":

    "3"

  • "userAdress":

    "XX园"

  • "userMobile":

    "189XXXXX"

  • "userName":

    "姓名"

  • "way":

    "晚上18:00-21:00"





// pages/shou/shou.js

const db = wx.cloud.database(); //初始化数据库

Page({

/**

  * 页面的初始数据

  */

data: {

bookingArr: []

},

onLoad: function(options) {

// 调用云函数'BookingList;

wx.cloud.callFunction({

name: 'BookingList'

}).then(res => {

console.log('调用云函数BookingList的结果:', res)

this.setData({

bookingArr: res.result.data

})

}).catch(err => {

console.log('调用云函数BookingList失败', err)

})

},


正在回答

5 回答

<!--显示日期-->

<view class="booking" wx:for="{{bookingArr}} "wx:key="{{index }}" >日期: {{item.date}}</view>


页面是上面这样写的,但 {{item.date}}没有渲染出内容。





0 回复 有任何疑惑可以回复我~

补充:如果增加一句打印显示bookingArr的语句“console.log('显示bookingArr的结果:', bookingArr)”在:

onLoad: function(options) {

// 调用云函数'BookingList;

wx.cloud.callFunction({

name: 'BookingList'

}).then(res => {

console.log('调用云函数BookingList的结果:', res)

this.setData({

bookingArr: res.result.data

})

console.log('显示bookingArr的结果:', bookingArr)

}).catch(err => {

console.log('调用云函数BookingList失败', err)

})


则会增加一条报错显示:

调用云函数BookingList失败 ReferenceError: bookingArr is not defined

    at quanbudingdan.js? [sm]:52


0 回复 有任何疑惑可以回复我~

补充:无论写成 bookingArr: res.result 还是 bookingArr: res.result.data,都没法渲染出来?

0 回复 有任何疑惑可以回复我~


调试器下面显示的是:

调用云函数BookingList的结果: {errMsg: "cloud.callFunction:ok", result: {…}, requestID: "cd8408ce-1763-11ea-8bd4-525400a88e2e"}

展开此结果为:

  • {errMsg: "cloud.callFunction:ok", result: {…}, requestID: "38099390-1764-11ea-841d-525400b2c41b"}

  1. errMsg: "cloud.callFunction:ok"

  2. requestID: "38099390-1764-11ea-841d-525400b2c41b"

  3. result:

    1. data: Array(1)

      1. 0:

        1. date: "2019-12-02"

        2. region: "广东省,XX市,XX区"

        3. rubbishName: "类型名称"

        4. rubbishWeight: "8"

        5. totalPrice: "3"

        6. userAdress: "XX园"

        7. userMobile: "189XXXXX"

        8. userName: "姓名"

        9. way: "晚上18:00-21:00"

        10. _id: "XXXd81"

        11. _openid: "XXXko"

        12. __proto__: Object

      2. length: 1

      3. nv_length: (...)

      4. __proto__: Array(0)

    2. errMsg: "collection.get:ok"

    3. __proto__: Object

  4. __proto__: Object


我是不是因为下面这个赋值式子写错,但不知道如何修改才能在wxml正确渲染出来:

this.setData({

bookingArr: res.result

})

能否帮忙修改这个赋值式子?感谢!

0 回复 有任何疑惑可以回复我~

首先看下调试器中输出的res内容是什么:

http://img1.sycdn.imooc.com//5de85fc100017ed113760920.jpg

然后看下页面上显示bookingArr的地方是否有问题。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谢老师:请问为何AppData明明看到有了一个数组(通过云函数BookingList调取的数据库中user'集合的数据),但始终没法渲染出来的原因,代码余下,求解答,感谢!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信