小程序this指向问题

如图所示,这个this我已经打印出来时page了,为什么还是提示下面的错误

clipboard.png

clipboard.png

阅读 5.5k
4 个回答

你这是在app.js里面吧,只有在page里能用this.setData,如果你想把数据添加到globalData,this.globalData.prop=data就可以了

最关键的一句话是箭头函数里的this,在定义时候就已经决定而不是执行的时候,这里面this已经不是指向page,没有setData()方法,最直接的方法先把success改成:
success: function(res){this.setData()}

你重新定义下this, 例如 var self = this 或者 var that = this 试试

wx.request上面添加一条:var _this = this; ,在下面需要使用this的地方就使用_this代替便好了。

推荐问题