小程序
小游戏
企业微信
微信支付
扫描小程序码分享
回现中显示ccdate函数中idh值还是为0
此处的ccdate函数中idh指向的内存与getopenid的idh指向的内存不一样么
该如何解决
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
一般情况,先在data 中定义变量 ,然后点击事件修改这个变量值 that.data.idh = '333'; 然后在另外一个事件获取 that.data.idh 就可以。但是就像楼上说的,因为不知道你是咋调用的
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
const DB = wx.cloud.database().collection('list')
var idh=''
Page({
data:{
idh:'',
},
// 获取用户openid
getopenid() {
wx.cloud.callFunction({
name: "getOpenid",
success(res) {
var that =this;
idh=res.result.openid
console.log('getOpenid成功',idh)
that.setData({
idh:idh
})
ccdata() {
console.log('ccdata成功',that.Data.idh)
onLoad: function (options) {
this.getopenid()
this.ccdata()
var that = this;
}
js中的全局变量指的是函数体外,所有通过var定义的变量,从你写的代码来看,我的理解是指向不同的内存。另外,应该是doc('idh'),或者你要在函数体中再次声明 idh 这个变量表示记录的 _id。
仔细看下这两条日志后面的行数显示,打印的顺序不一定是你想的那样
都不知道你咋调用的。你都知道内存了,还不知道js的异步?
data: {
getopenid(callback) {
success: (res) => {
let idh = res.result.openid
callback(idh);
this.getopenid(openid => {
console.log('ccdata成功', openid)
没看到你在哪调用了this.ccdata()
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
一般情况,先在data 中定义变量 ,然后点击事件修改这个变量值 that.data.idh = '333'; 然后在另外一个事件获取 that.data.idh 就可以。但是就像楼上说的,因为不知道你是咋调用的
const DB = wx.cloud.database().collection('list')
var idh=''
Page({
data:{
idh:'',
},
// 获取用户openid
getopenid() {
wx.cloud.callFunction({
name: "getOpenid",
success(res) {
var that =this;
idh=res.result.openid
console.log('getOpenid成功',idh)
that.setData({
idh:idh
})
},
})
},
ccdata() {
console.log('ccdata成功',that.Data.idh)
},
onLoad: function (options) {
this.getopenid()
this.ccdata()
var that = this;
}
})
js中的全局变量指的是函数体外,所有通过var定义的变量,从你写的代码来看,我的理解是指向不同的内存。另外,应该是doc('idh'),或者你要在函数体中再次声明 idh 这个变量表示记录的 _id。
仔细看下这两条日志后面的行数显示,打印的顺序不一定是你想的那样
都不知道你咋调用的。你都知道内存了,还不知道js的异步?
const DB = wx.cloud.database().collection('list')
Page({
data: {
},
// 获取用户openid
getopenid(callback) {
wx.cloud.callFunction({
name: "getOpenid",
success: (res) => {
let idh = res.result.openid
callback(idh);
}
})
},
onLoad: function (options) {
this.getopenid(openid => {
console.log('ccdata成功', openid)
})
}
})
没看到你在哪调用了this.ccdata()