Angular 在ngIf中如何检查数组键是否存在?

Angular 在ngIf中如何检查数组键是否存在?,angular,Angular,文件是对象的数组。它始终具有name属性,但可能具有或不具有progress属性。进度的值类型为number。是否有办法检查ngIf中是否存在进展:- 你可以这样试试。您可以使用并实现else条件。因此,不需要两次实现*ngIf 是,您可以使用方法检查文件对象是否具有属性进度:- 你可以这样写 {{file.name} 如果进度不存在,则显示此项 如果有进展,则显示此项 我将尝试访问该属性,如果该属性不存在,则它将返回undefined,因此为false。如果文件的progress属性的值为f

文件是对象的数组。它始终具有name属性,但可能具有或不具有progress属性。进度的值类型为number。是否有办法检查ngIf中是否存在进展:-


你可以这样试试。您可以使用并实现else条件。因此,不需要两次实现*ngIf

是,您可以使用方法检查文件对象是否具有属性进度:-


你可以这样写

{{file.name} 如果进度不存在,则显示此项 如果有进展,则显示此项
我将尝试访问该属性,如果该属性不存在,则它将返回undefined,因此为false。

如果文件的progress属性的值为falsy,则该属性将不起作用。…:雅普:我刚刚修改了ans,如果我们使用三元运算符,它就会工作。不需要使用hasOwnProperty。但是,如果file.progress的值为null或,它将显示第一个条件。问题是检查对象是否有属性,而不是检查错误的值。。!
<tr *ngFor="let file of files; let i=index;">
  <td>{{file.name}}</td>
  <td *ngIf="file.progress"> Show This if progress doesnt exist</td>
  <td *ngIf="file.progress"> Show This if progress exists</td>
<tr>
 <tr *ngFor="let file of files; let i=index;">
    <td>{{file.name}}</td>
    <td *ngIf="file?.progress; else elsePart"> Show This if progress doesnt exist</td>
    <ng-template #elsePart>
    <td> Show This if progress exists</td>
    </ng-template>
 <tr>
<tr *ngFor="let file of files; let i=index;">
    <td>{{file.name}}</td>
    <td *ngIf="!file.hasOwnProperty('progress')">Show This if progress doesnt exist</td>
    <td *ngIf="file.hasOwnProperty('progress')">Show This if progress exists</td>
<tr>
<tr *ngFor="let file of files; let i=index;">
    <td>{{file.name}}</td>
    <td *ngIf="!file['progress']">Show This if progress doesnt exist</td>
    <td *ngIf="file['progress']">Show This if progress exists</td>
<tr>