小程序
小游戏
企业微信
微信支付
扫描小程序码分享
函数最前边曾经 const _this = this这样定义过。
从数据库中取出的数据在res.data[0]中。用如下的方式赋值到OpenId中
_this.setData({
OpenId:res.data[0].OpenId
})
可是:console.log("SS",this.data.OpenId);中却没有值,在控制台的AppData中是有值的啊。
请各位大佬解惑。
9 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
刚赋值完就打印了,估计值还没有赋上
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你在db.collection('UserInfo')的success中给setData,在success回调函数外面打印this.data.Openid,那肯定是空的。异步问题哥
先在data声明,下边在用this.data.OpenId
Page({ data: { OpenId:null }, })
onShow() {
console.log("页面显示", app.globalData.OpenId,this.data.id)
UserTrail("teacherinfo", "咨询师详情", app.globalData.OpenId, "AA")
//修改页面访问次数
//11
const _this = this
const db = wx.cloud.database()
db.collection('UserInfo').where({
_id: this.data.id
//ValidStatus:true
.get({
success: function (res) {
console.log(res.data[0]);
console.log("自己通过openid取得的信息", res.data);
//UserName:res.data[0].UserName,
UserInfo: res.data[0],
imgurl:res.data[0].UserImage,
ID:res.data[0]._id,
//return res
},
fail: err => {
reject(err)
}
var that=this
console.log("SS"+this.data.OpenId,this.data.imgurl);
UserTrail("center", "个人中心", app.globalData.OpenId, "CC")
this.getData()
setData之前打印一下res.data[0].OpenId是个啥玩意
大概率是js异步问题。
this.data.OpenId 为啥不继续使用_this
光看这段说法看不出问题,有没有可能把page的代码贴上来
请提供完整的代码片段
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
刚赋值完就打印了,估计值还没有赋上
你在db.collection('UserInfo')的success中给setData,在success回调函数外面打印this.data.Openid,那肯定是空的。异步问题哥
先在data声明,下边在用this.data.OpenId
Page({ data: { OpenId:null }, })
onShow() {
console.log("页面显示", app.globalData.OpenId,this.data.id)
UserTrail("teacherinfo", "咨询师详情", app.globalData.OpenId, "AA")
//修改页面访问次数
//11
const _this = this
const db = wx.cloud.database()
db.collection('UserInfo').where({
_id: this.data.id
//ValidStatus:true
})
.get({
success: function (res) {
console.log(res.data[0]);
console.log("自己通过openid取得的信息", res.data);
_this.setData({
//UserName:res.data[0].UserName,
UserInfo: res.data[0],
imgurl:res.data[0].UserImage,
ID:res.data[0]._id,
OpenId:res.data[0].OpenId
})
//return res
},
fail: err => {
reject(err)
}
})
var that=this
console.log("SS"+this.data.OpenId,this.data.imgurl);
UserTrail("center", "个人中心", app.globalData.OpenId, "CC")
this.getData()
//11
},
setData之前打印一下res.data[0].OpenId是个啥玩意
console.log("页面显示", app.globalData.OpenId, this.data.id)
UserTrail("teacherinfo", "咨询师详情", app.globalData.OpenId, "AA")
//修改页面访问次数
//11
const _this = this
const db = wx.cloud.database()
db.collection('UserInfo').where({
_id: this.data.id
//ValidStatus:true
})
.get({
success: function(res) {
console.log(res.data[0]);
console.log("自己通过openid取得的信息", res.data);
_this.setData({
//UserName:res.data[0].UserName,
UserInfo: res.data[0],
imgurl: res.data[0].UserImage,
ID: res.data[0]._id,
OpenId: res.data[0].OpenId
})
//return res
console.log("SS" + _this.data.OpenId, _this.data.imgurl);
UserTrail("center", "个人中心", app.globalData.OpenId, "CC")
_this.getData()
},
fail: err => {
reject(err)
}
})
//11
},
大概率是js异步问题。
this.data.OpenId 为啥不继续使用_this
光看这段说法看不出问题,有没有可能把page的代码贴上来
请提供完整的代码片段