onLoad(options) {
console.log('index中的onload页面加载执行了。')
/*页面加载后,调用函数,获取openidid*/
wx.cloud.callFunction({
name: 'test',
complete: res => {
var aa =res.result['userInfo']
var openid=aa['openId']
this.setData({
open_id1:openid
})
}
})
console.log(open_id1);
},
请教各位大神,上面是我在onload中的操作,第一步是通过云函数获得了openid,放入了open_id1中,在wxml中也显示了,可是在onload函数最后一行中,我想将openid打印出来时,却报错了。”ReferenceError: open_id1 is not defined“,我在page的data块中式这样写的:
Page({
data: {
userinfo:[],
open_id1:""
},
所以说变量是定义的了。我改成:
console.log(this.open_id1);也打不出任何内容。
请高手解惑。
这个问题可能是因为在`console.log(open_id1);`这一行中,`open_id1`没有被正确引用。请确保你在正确的作用域中使用`open_id1`。你可以尝试将`console.log(open_id1);`这一行放在`Page()`函数的`onLoad()`方法中,如下所示:
Page({ data: { userinfo: [], open_id1: "" }, onLoad: function() { var aa = res.result['userInfo']; var openid = aa['openId']; this.setData({ open_id1: openid }); console.log(this.open_id1); } })
如果仍然无法解决问题,请检查你的代码是否有其他错误。
你的写法都有问题,肯定没有数据啊
你先把res.result结果打印出来,console.log("openid:"+res.result[0].openid)
onLoad(options) { console.log('index中的onload页面加载执行了。'); /* 页面加载后,调用函数,获取openid */ wx.cloud.callFunction({ name: 'test', complete: res => { var aa = res.result['userInfo']; var openid = aa['openId']; this.setData({ open_id1: openid }); // 在这里访问 open_id1,确保在获取后再使用 console.log(this.data.open_id1); } }); }
去学习一下js基础
console.log(this.data.open_id1)