收藏
回答

开发者工具出现奇怪的报错

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1.02.1806120

模拟器和真机调试在做this.setData的时候报错

Cannot read property 'setData' of undefined

模拟器里面提示的样子

不知道那个undefined是怎么回事


之前还有一次是我用了一个mode变量在wxml里面做wx.if,然后删掉这个判断之后每次都报错Cannot read property 'mode' of undefined


谁能解释一下发生了什么

回答关注问题邀请回答
收藏

3 个回答

  • 2018-07-17

    formsubmit就在page里面

    2018-07-17
    有用
    回复
  • 是小白啊
    是小白啊
    2018-07-17

    你好,你这是this的指向出错了

    2018-07-17
    有用
    回复 1
    • 2018-07-17

      两个this.setData都报错,都是在formsubmit函数内的。一个在wx.request的success函数内,一个是在wx.login的success内,

      formSubmit: e => {
          console.log(e.detail.formID)
          wx.request({
            url: "xxx",
            success: jieguo => {
              console.log(jieguo.data.access_token)
              this.setData({
                URLMu: "hssss" + jieguo.data.access_token
              })
            }
          })
          wx.login({
            success: res => {
              // 发送 res.code 到后台换取 openId, sessionKey, unionId
              this.setData({
                URLLink: "xxxx" + res.code + "ssss"
              })
               
              wx.request({
                url: this.data.URLLink,
                success: info => {
                  console.log(info.data.openid)
                    wx.request({
                      url: this.data.URLMu,

      之前还挺好的没啥事,偶尔是第一个能编译出_this.setData然后有一个 var _this=this 然后第二个this报错,现在是都变成了undefined

      求大神解决


      2018-07-17
      回复
  • 2018-07-17

    对象有问题,this一般是全局对象,你的login方法写在什么地方

    2018-07-17
    有用
    回复 1
    • 2018-07-17

      两个this.setData都报错,都是在formsubmit函数内的。一个在wx.request的success函数内,一个是在wx.login的success内,

      formSubmit: e => {
          console.log(e.detail.formID)
          wx.request({
            url: "xxx",
            success: jieguo => {
              console.log(jieguo.data.access_token)
              this.setData({
                URLMu: "hssss" + jieguo.data.access_token
              })
            }
          })
          wx.login({
            success: res => {
              // 发送 res.code 到后台换取 openId, sessionKey, unionId
              this.setData({
                URLLink: "xxxx" + res.code + "ssss"
              })
               
              wx.request({
                url: this.data.URLLink,
                success: info => {
                  console.log(info.data.openid)
                    wx.request({
                      url: this.data.URLMu,

      之前还挺好的没啥事,偶尔是第一个能编译出_this.setData然后有一个 var _this=this 然后第二个this报错,现在是都变成了undefined

      求大神解决

      2018-07-17
      回复
登录 后发表内容