在
内部feature_arr
没有变量是可访问的,例如我定义了paymentId:Number = 11;但是在警报消息中的该函数内部,它显示为未定义。我也称函数成功,但它不能将其识别为函数。毫无疑问,该代码块是正确的,因为它正确显示了response.razorpay_payment_id。处理程序外部的变量(例如键和数量)可以使用,但是在函数内部,即使在该函数运行时,它们也都不确定或无法识别。
handler': function(response: any) {
alert(response.razorpay_payment_id);
alert(this.paymentId);
this.success();
},
答案 0 :(得分:0)
您应该使用arrow
函数=>
来维护this
的范围。
this.options = {
'key': this.clientKey,
'amount': this.singleInvoiceDetail.total_amount*100,//'2000', // 2000 paise = INR 20
'name': 'KudosHub',
'description': 'payment',
'image': 'theme/images/logo.svg',
'handler': (response: any) => {
alert(response.razorpay_payment_id);
alert(this.paymentId);
this.success();
},
'prefill': {
'name': this.userDetail.first_name+" "+this.userDetail.last_name,
'email': this.userDetail.email,
},
'notes': {
'address': ''
},
'theme': {
'color': '#F37254'
}
};