VUE里面自定义的方法没有调用

这个问题遇到过很多次了,这次又遇到一次浪费我时间想了一会儿,决定记下来,先举例

wx.scanQRCode({
  needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
  success: function (res) {
    var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
    if (result.indexOf("qrStorageTicket") !== -1) {
      result = JSON.parse(result)
    }
    /**
     * 扫到存彩票的二维码
     */
    //重定向回主页的时候,判断扫到的码是否存在 qrStorageTicket,如果存在,进if
    if (result.cmd === "qrStorageTicket") {
      alert("进入了")
      this.storageLottery(result);
    }
}

这里我在H5里面用了微信的JSSDK调用扫一扫功能,扫描到二维码的时候,上面的this.storageLottery(result);方法死活都没执行,alert都执行了,其实这里是因为this指向的问题,改成这样就好了

_this = this;
wx.scanQRCode({
  needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
  success: function (res) {
    var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
    if (result.indexOf("qrStorageTicket") !== -1) {
      result = JSON.parse(result)
    }
    /**
     * 扫到存彩票的二维码
     */
    //重定向回主页的时候,判断扫到的码是否存在 qrStorageTicket,如果存在,进if
    if (result.cmd === "qrStorageTicket") {
      alert("进入了")
      _this.storageLottery(result);
    }
}

因为这里的this指向的是wx.scanQRCode,要改成指向当前页面。
其他类似方法没有调用的问题我想大多也是因为this指向的问题吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值