小程序
小游戏
企业微信
微信支付
扫描小程序码分享
data: {
data: null
},
onLoad:function(option) {
var id = option.listid
console.log("open")
// console.log(data)
console.log(id)
this.setData({
data: app.goodsdata[id]
})
console.log("end")
以上是我的代码,下边是控制台结果
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这是因为在小程序的Page对象中,data对象中声明的变量只能通过this.data来访问,而不能直接通过变量名来访问。所以,在你的代码中,应该将console.log(data)改为console.log(this.data)。
另外,为了在onLoad函数中访问和修改data对象中的变量,你可以使用this.setData()方法来更新数据
为了避免冲突,你可以将data变量的名称更改为其他名称,例如goodsData
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
data: undefined 警告说给data赋undefined是无效的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这是因为在小程序的Page对象中,data对象中声明的变量只能通过this.data来访问,而不能直接通过变量名来访问。所以,在你的代码中,应该将console.log(data)改为console.log(this.data)。
另外,为了在onLoad函数中访问和修改data对象中的变量,你可以使用this.setData()方法来更新数据
为了避免冲突,你可以将data变量的名称更改为其他名称,例如goodsData
data: undefined 警告说给data赋undefined是无效的
1. 变量名拼写错误或没有声明:请检查变量名是否正确,以及是否在data中声明了该变量。
2. 变量作用域问题:请确保变量的作用域是在onLoad函数内部,如果变量的作用域在函数外部,onLoad函数将无法访问该变量。
3. onLoad函数没有被正确调用:请确认onLoad函数是否被正确调用,并且在页面加载完成后才能访问data中的变量。
如果以上原因都不是导致未定义问题的原因,还需要进一步检查代码逻辑,或者提供更加具体的错误提示来判断问题的原因。