代码之家  ›  专栏  ›  技术社区  ›  almo

Angular ngFor不适用于我的对象

  •  -1
  • almo  · 技术社区  · 4 年前

    我有一个带Angular的Ionic应用程序,希望通过从API获得的对象数组进行迭代。

    当我登录时 sale.waver (wave包含数组)到我的控制台,我得到了我的信息,但当我尝试使用*ngFor时,我得到一个错误。我使用销售?因为应用程序必须首先从API获取数据,然后才定义sale.waver。

    <ion-item *ngFor="let eintrag of sale?.waver">
      xxx       
    </ion-item>
    

    这是日志 sale.waver 以及*ngFor的误差。

    enter image description here

    1 回复  |  直到 4 年前
        1
  •  3
  •   Kirill Simonov    4 年前

    你的 sale.waver 它不是数组,而是一个对象(即使它有编号键)。正如错误所说, *ngFor 仅适用于 Iterables .

    您可以更改类型 sale.waver 数组或尝试通过添加一个 [Symbol.iterator] 财产(见此 link ).

        2
  •  0
  •   Srikar Phani Kumar M    4 年前

    您可以先检查项目是否存在,然后添加条件。像这样的东西

    // Assuming sale.waver is an array. Otherwise the answer provided by Kirill holds good here
    
    <ng-container *ngIf="sale && sale.waver">
      <ion-item *ngFor="let eintrag of sale?.waver">
         xxx       
      </ion-item>
    </ng-container>
    
    // 1) You need ng-container because you cant use *ngIf and *ngFor on the same tag
    // 2) The ion-item tag will render only if sale and sale.waver are present.
    
    推荐文章