Javascript Angular6:无法访问获取异步数据的模板中的js变量

Javascript Angular6:无法访问获取异步数据的模板中的js变量,javascript,angular,typescript,razorpay,Javascript,Angular,Typescript,Razorpay,我正试图在模板上打印razorpay提供的银行列表 我得到所有银行列表对象的响应,并将其保存在变量banks中,但该变量在模板中不起任何作用,即我看不到任何值 我试图打印下面的代码,但我从来没有看到Hello被打印出来 <h2 *ngIf="banks">Hello</h2> 问题出现在函数关键字中,因为在该功能块中使用的此将与函数本身相关,而不是组件的此。只需将其更改为: razorpay.once('ready', (response) => {

我正试图在模板上打印razorpay提供的银行列表 我得到所有银行列表对象的响应,并将其保存在变量banks中,但该变量在模板中不起任何作用,即我看不到任何值

我试图打印下面的代码,但我从来没有看到Hello被打印出来

<h2 *ngIf="banks">Hello</h2>
问题出现在
函数
关键字中,因为在该功能块中使用的
将与函数本身相关,而不是组件的
。只需将其更改为:

   razorpay.once('ready', (response) => {
       this.banks= response.methods.netbanking;
      console.log(response.methods);
      console.log(razorpay.methods.netbanking);
      // response.methods.netbanking contains list of all banks
    })
它应该可以工作,因为
this
将引用组件的
this
,填充正确的组件属性

更多关于“这个”的阅读资料:

   razorpay.once('ready', function (response) {
       this.banks= response.methods.netbanking;
      console.log(response.methods);
      console.log(razorpay.methods.netbanking);
      // response.methods.netbanking contains list of all banks
    })
   razorpay.once('ready', (response) => {
       this.banks= response.methods.netbanking;
      console.log(response.methods);
      console.log(razorpay.methods.netbanking);
      // response.methods.netbanking contains list of all banks
    })