小程序
小游戏
企业微信
微信支付
扫描小程序码分享
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
this.data.detail
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
如果是套用的function可以在引用的地方写that=this.data,在function里面调用that.detail
// 需要注意 this 作用域问题,一般可以在整个函数开头: // let _this = this; let that = this; var temp = this.data.detail; var temp = _this.data.detail; var temp = that.data.detail;
通过setData设置的值,可以通过this.data.xxxx 取用 1、注意this的作用域,最好在函数最开始设置 let t = this 2、注意同步/异步的问题 如: this.setData({ abc: 123 }) ==========this作用域============ 在其他方法中取用abc test: function(){ let t = this .... console.log(t.data.abc) } ==========同步/异步============= func1: function(){ let t = this wx.request({ url: 'xxxx', success(res){ t.setData({ abc: res.data }) }}) t.test() // test方法里的console.log(t.data.abc),有可能打印出空值,同步/异步的问题 }, test: function(){ let t = this .... console.log(t.data.abc) } ================解决同步/异步问题================= func1: function(){ let t = this new Promise((rs, rj)=>{ wx.request({ url: 'xxxx', success(res){ t.setData({ abc: res.data }) rs(res.data) }, fail(e){ rj(e) } }) }).then(d=>{ console.log(d) // d为res.data的值, this.data.abc中此时已经有值 t.test() // test中的console.log(t.data.abc),不会是空值了 }) }, test: function(){ let t = this .... console.log(t.data.abc) }
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
this.data.detail
如果是套用的function可以在引用的地方写that=this.data,在function里面调用that.detail
// 需要注意 this 作用域问题,一般可以在整个函数开头: // let _this = this; let that = this; var temp = this.data.detail; var temp = _this.data.detail; var temp = that.data.detail;
通过setData设置的值,可以通过this.data.xxxx 取用 1、注意this的作用域,最好在函数最开始设置 let t = this 2、注意同步/异步的问题 如: this.setData({ abc: 123 }) ==========this作用域============ 在其他方法中取用abc test: function(){ let t = this .... console.log(t.data.abc) } ==========同步/异步============= func1: function(){ let t = this wx.request({ url: 'xxxx', success(res){ t.setData({ abc: res.data }) }}) t.test() // test方法里的console.log(t.data.abc),有可能打印出空值,同步/异步的问题 }, test: function(){ let t = this .... console.log(t.data.abc) } ================解决同步/异步问题================= func1: function(){ let t = this new Promise((rs, rj)=>{ wx.request({ url: 'xxxx', success(res){ t.setData({ abc: res.data }) rs(res.data) }, fail(e){ rj(e) } }) }).then(d=>{ console.log(d) // d为res.data的值, this.data.abc中此时已经有值 t.test() // test中的console.log(t.data.abc),不会是空值了 }) }, test: function(){ let t = this .... console.log(t.data.abc) }
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人