Ionic ngIf数组中的第一项返回“无法读取undefined的属性(阅读“0”)”

1cklez4t  于 2023-04-18  发布在  Ionic
关注(0)|答案(1)|浏览(122)

我在Angular中创建ngIf语句时遇到了问题。我试图只在div匹配特定条件时才显示它......但我在浏览器控制台中一直得到这个错误:
无法读取未定义的属性(阅读“0”)
我做错了什么?
我的HTML是:

<div *ngIf="preSelectedPaymentOption[0].value === 3 && totalCartPrice > 380" class="payment-warning">
   <ion-label>
    <h3>Atention!</h3>
    <p>Lorem ipsum dolor sit!!!.</p>
  </ion-label>
</div>

下面是来自API的数据:

下面是我如何获取数据的TS代码:

getPaymentOptions() {
    this.cartService.getPaymenyOptions().subscribe(
      data => {
        this.paymentData = data;
        this.preSelectedPaymentOption = this.paymentData.payments.filter(option => option.default === 1);
        console.log('Preselected payment method: ', this.preSelectedPaymentOption.map(option => option));
      }, error => {
        console.log('Error', error);
      });
  }
lmyy7pcs

lmyy7pcs1#

您的preSelectedPaymentOption可能在开始时未定义,因此将条件更改为following应该可以解决此问题

*ngIf="!!preSelectedPaymentOption?.length && preSelectedPaymentOption[0].value === 3 && totalCartPrice > 380"

相关问题