"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)
我需要你的帮助。我试图调用它来访问我在 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)