云开发数据库查询setData后,在onLoad中无法访问
RT, 代码如下:
// miniprogram/pages/medicine_index/medicine_index.js Page({ /** * 页面的初始数据 */ data: { "medicine" : "N/A" , }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this .getDbData( "medicine" , {}, "medicine" ); console.log( "在onLoad中medicine:" , this .data.medicine) }, getDbData: function (coll_name, search_cond, data_key){ const db = wx.cloud.database() var that = this ; db.collection(coll_name).where(search_cond).get({ success: function (res){ that.setData({ "medicine" :res.data, }); console.log( "查询数据库完成:" ,that.data) } }) } }) |
以上代码期望:
在onLoad中调用自定义函数:getDbData
在getDbData中,调用云数据库接口从数据库中查询记录,将查询结果赋值给data中的medicine变量
之后在onLoad想要访问this.data.medicine,发现该变量没有被赋值
执行结果如下: