微信小程序this.setData

来源:12-1 wx.request的更多参数讲解

慕斯9212296

2023-08-06

data: {
  daAn1:"good"
  },
onLoad(options) {
    wx.request({
      url: 'http://localhost/zerg/public/index.php/api/v1.banner/getquestionbyid?id=100001&id1=个税',
      success(res){
          console.log(res.data[0].course_name)
          this.setData({
            daAn1:res.data[0].course_name
          })
      }
    })
  },

我用以上代码,从服务器返回值,用 console.log(res.data[0].course_name),打印,显示成功,结果就是一个字符串:“个税”,但我想把这个返回值用this.setData做数据绑定给已经定义好的变量daAn1时,总是显示错误:

WAServiceMainContext.js:2
TypeError: Cannot read property ‘setData’ of undefined
at success (zhan.js? [sm]:21)
at Function.forEach.s. (WASubContext.js?t=wechat&s=1691319802498&v=2.19.4:2)
at :49654/appservice/
at WASubContext.js?t=wechat&s=1691319802498&v=2.19.4:2
at u (WASubContext.js?t=wechat&s=1691319802498&v=2.19.4:2)
at o. (WASubContext.js?t=wechat&s=1691319802498&v=2.19.4:2)
at :49654/appservice/
at WASubContext.js?t=wechat&s=1691319802498&v=2.19.4:2
at WASubContext.js?t=wechat&s=1691319802498&v=2.19.4:2
at WASubContext.js?t=wechat&s=1691319802498&v=2.19.4:2(env: Windows,mp,1.06.2306020; lib: 2.19.4)

请问为什么数据绑定不成功?

写回答

4回答

SevenMonths

2024-12-31

这不就是老师讲过的this指向问题么,本着学会就要输出的想法,两种解决办法。

1、success里的this和外面this指向不是同一个对象。解决办法,在外面定义,在里面使用。在wx.request  外面定义  const that = this,在success里使用,that.setData....

2、使用箭头函数 success:(res)=>{ this.setData({...})}

0
0

进化程序员

2024-07-17

11-9里的问题吧

0
0

小小袁子

2023-08-29

this 的问题

0
0

7七月

2023-08-08

这个只能调试。不可能从代码片段里看到问题的

0
0

微信小程序入门与实战(全新版) 超20000人学习的好课

4年同步微信官方迭代,累计20000+人学习, 比微信官方更火爆!

23977 学习 · 6933 问题

查看课程