Javascript 如何修复ngFor/ngIf else不';我不能在有角度的地方工作

Javascript 如何修复ngFor/ngIf else不';我不能在有角度的地方工作,javascript,angular,typescript,Javascript,Angular,Typescript,代码如下: <div *ngFor="let app of application$ | async;"> <div *ngIf="app.length > 0; else noResults"> <li>{{app.id}}</li> </div> <ng-template #noResults> No Results </ng-template> </div>

代码如下:

<div *ngFor="let app of application$ | async;">
  <div *ngIf="app.length > 0; else noResults">
    <li>{{app.id}}</li>
  </div>

  <ng-template #noResults>
    No Results
  </ng-template>
</div>
如何修复ngFor上的else,它在没有数据时不会进入noResults。 我也试过这个

HTML


{{data.name}
没有结果

这是一个相同的错误,当没有数据时它不会显示noReuslts

您的HTML应该是这样的

<div *ngFor="let app of application$ | async;">
    <li>{{app.id}}</li>
</div>
<div *ngIf="(application$ | async).length === 0">No Results</div>

  • {{app.id}
  • 没有结果

    
    {{app.id}
    没有结果
    
    你写错了名字write noResults for else condition
    一旦你纠正了打字错误,第二个版本就可以工作了。第一个版本无法工作,因为嵌套在
    *ngFor
    中,
    *ngIf
    在其条件变为false之前将永远不会被评估。
    <div *ngIf="application$ | async as app">
      <div *ngIf="app.length !== 0; else noResults">
        <div *ngFor="let data of app;let i = index;">
          {{ data.name }}
        </div>
      </div>
      <ng-template #noResults>
        No Results
      </ng-template>
    </div>
    
    <div *ngFor="let app of application$ | async;">
        <li>{{app.id}}</li>
    </div>
    <div *ngIf="(application$ | async).length === 0">No Results</div>
    
    <div>
        <li *ngFor="let app of application$ | async;">{{app.id}}</li>
        <ng-container *ngIf="(application$ | async).length === 0">No Results</ng-container>
    </div>