Angular Razorpay离子3回调问题

Angular Razorpay离子3回调问题,angular,cordova,typescript,ionic2,ionic3,Angular,Cordova,Typescript,Ionic2,Ionic3,我将用ionic 3应用程序实现razorpay everything works find,我用payment_id获得了成功回调,但在那之后,没有发生重定向到其他页面或路由或任何其他活动或调用函数等情况 我是指以下链接 这是我的密码 var options = { description: 'Credits towards consultation', image: 'https://i.imgur.com/3g7nmJC.png', currency:

我将用ionic 3应用程序实现razorpay everything works find,我用payment_id获得了成功回调,但在那之后,没有发生重定向到其他页面或路由或任何其他活动或调用函数等情况

我是指以下链接

这是我的密码

var options = {
      description: 'Credits towards consultation',
      image: 'https://i.imgur.com/3g7nmJC.png',
      currency: 'INR',
      key: 'rzp_test_1DP5mmOlF5G5ag',
      amount: '5000',
      name: 'foo',
      prefill: {
        email: 'pranav@razorpay.com',
        contact: '8879524924',
        name: 'Pranav Gupta'
      },
      theme: {
        color: '#F37254'
      },
      modal: {
        ondismiss: function() {
          alert('dismissed')
        }
      }
    };

    var successCallback = function(payment_id) {
      alert('payment_id: ' + payment_id);
      this.navCtrl.push("ThankyouPage",{
              status: this.status
          });
    };

    var cancelCallback = function(error) {
      alert(error.description + ' (Error ' + error.code + ')');
    };

    this.platform.ready().then(() => {
      RazorpayCheckout.open(options, successCallback, cancelCallback);
    })

您应该像这样使用
箭头函数

var options = {
  description: 'Credits towards consultation',
  image: 'https://i.imgur.com/3g7nmJC.png',
  currency: 'INR',
  key: 'rzp_test_1DP5mmOlF5G5ag',
  amount: '5000',
  name: 'foo',
  prefill: {
    email: 'pranav@razorpay.com',
    contact: '8879524924',
    name: 'Pranav Gupta'
  },
  theme: {
    color: '#F37254'
  },
  modal: {
    ondismiss: () => { // <- Here!
      alert('dismissed')
    }
  }
};

var successCallback = (payment_id) => { // <- Here!
  alert('payment_id: ' + payment_id);
  this.navCtrl.push("ThankyouPage",{
          status: this.status
      });
};

var cancelCallback = (error) => { // <- Here!
  alert(error.description + ' (Error ' + error.code + ')');
};

this.platform.ready().then(() => {
  RazorpayCheckout.open(options, successCallback, cancelCallback);
})
var选项={
说明:'咨询学分',
图像:'https://i.imgur.com/3g7nmJC.png',
货币:“印度卢比”,
键:“rzp_测试_1dp5molf5g5ag”,
金额:'5000',
名称:“foo”,
预填充:{
电邮:'pranav@razorpay.com',
联系人:“8879524924”,
姓名:“Pranav Gupta”
},
主题:{
颜色:“#F37254”
},
模态:{
ondismiss:()=>{/{/{/}/{
打开(选项、成功回调、取消回调);
})

使用常规函数时,
this
关键字引用函数本身,但使用箭头函数时,不会覆盖
this
属性,仍然引用组件实例(在其中定义了navCtrl属性)

此问题的另一个解决方案是将此变量分配给其他变量,并在回调中使用它,如-

let me = this;

var successCallback = function(payment_id) {
    alert('payment_id: ' + payment_id);
    me.navCtrl.push("ThankyouPage",{
        status: me.status
    });
};
我把它修好了

第1步:让我们在html页面制作一个具有唯一ID的按钮

第二步:
文档。getElementById(“您的ID”)。单击()

什么是问题

我们正在加载javascript函数..从javascript到typescript没有活动方法..所以我们应该调用html元素到typescript