收藏
回答

方法无法调用?是我写错了吗?

哪位大佬知道这是怎么回事吗?我在startAcc里调用senddiedao方法,为啥就不行了,我试过了—this=this ,试过了this=that,试过了this.senddiedao()并且传值我都用了就是不行,下面这是源代码

onLoad() {

    this.getLocation();

    this.getjinjiinformation();

    this.getusersopenid();

    this.startAcc();

  },

  startAcc: function () {

    var _this=this

    wx.startAccelerometer({ 

      success: function () {

        wx.onAccelerometerChange(function (res) {

          // console.log("加速度",res)

          let resAcc1=res.x+res.y+res.z

          // console.log("加速度",resAcc1)

          if(resAcc1>1){

            console.log("超出敏感值",resAcc1)

            this.senddiedao()

   }

        })

      }

    })

  },

senddiedao:function(){

    console.log("调用成功")

      },


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

4 个回答

  • 啷咯哩咯啷
    啷咯哩咯啷
    2020-09-17

    在使用 以 wx. 开头的方法时,注意函数内部的 this 指向,尽量在函数初始化的时候保存this

    2020-09-17
    有用
    回复
  • .
    .
    2020-09-17

    this的指向问题。

    2020-09-17
    有用
    回复 1
    • 时间的记忆
      时间的记忆
      2020-09-17
      谢谢大佬,谢谢,我找到原因了
      2020-09-17
      回复
  • 2020-09-17

    你都 var _this = this

    不应该是 _this.senddiedao(),这个调用吗

    2020-09-17
    有用
    回复 1
    • 时间的记忆
      时间的记忆
      2020-09-17
      谢谢大佬,感谢感谢,这个而我确实不是很懂,谢谢您
      2020-09-17
      回复
  • 时间的记忆
    时间的记忆
    2020-09-17

    这个到底怎么回事,是不兼容吗?

    2020-09-17
    有用
    回复 1
    • 酷走天涯
      酷走天涯
      2020-09-17
      this指向问题,用_this.senddiedao()调用
      2020-09-17
      回复
登录 后发表内容
问题标签