"this" returns 未在 wepay 回调闭包中定义

"this" returns undefined in wepay callback closuer

我需要你的帮助。我试图调用它来访问我在 vuejs 中的数据对象中的变量但是 this returns undefined

这是我的代码

let response = ''
        let self  = this

        response = WePay.credit_card.create({
          "client_id":        118711,
          "user_name":        this.cardDetails.name,
          "email":            this.cardDetails.email,
          "cc_number":        this.cardDetails.number,
          "cvv":              this.cardDetails.cvc,
          "expiration_month": this.cardDetails.month,
          "expiration_year":  this.cardDetails.year,
          "address": {
              "postal_code": this.cardDetails.zipcode
          }
        }, function(data, self) {
          if (data.error) {
            // self.loader = false
            console.log(window)
            this.loader = false
            this.emitErrorNotify({message: data.error_description})
            // handle error response
          } else {
            console.log(data)
              // call your own app's API to save the token inside the data;
              // show a success page
          }
        })

谁能帮我看看这是怎么做到的?谢谢和问候。

你定义

let self  = this

在上面, 但在 function(data, self) 中 self 被覆盖了。要么更改其中一个变量并使用它代替它。 或者将 this 绑定到该函数,以便您可以在以下范围内使用它:

function(data, self) {

}.bind(this)