代码之家  ›  专栏  ›  技术社区  ›  Paco Zevallos

获取项目长度ngfor async/observable<aviso[]>;

  •  4
  • Paco Zevallos  · 技术社区  · 6 年前

    如何获取使用ngfor的项目总数?

    *ngFor="let aviso of avisosTest | async; let i = index"
    

    我在FireBase的FireStore工作,有一个可观察到的:

    avisosTest: Observable<Aviso[]>;
    

    我试过了,但没用

    {{ avisosTest.length }}
    
    {{ avisosTest?.length }}
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   Meligy    6 年前

    在角4中,可以这样做:

    *ngFor="let aviso of avisosTest | async as aviso; let i = index"
    

    然后你可以打电话 {{ avisosTest.length }} 在那个标签里面。

    例子

    <ul>
      <li *ngFor="let aviso of avisosTest | async as aviso; let i = index">
        {{aviso}} - {{i + 1}} of {{aviso.length}}
      </li>
    </ul>
    

    Working Demo -等待2秒钟以加载数据

    如果你需要它在循环之外,你可以分开 async ngFor ,比如:

    <div *ngIf="avisosTest | async as aviso">
      <ul>
        <li *ngFor="let aviso of aviso; let i = index">
          {{aviso}}
        </li>
      </ul>
      <div>
        {{aviso.length}} items total
      </div>
    </div>
    

    Working Demo -等待2秒钟以加载数据

        2
  •  0
  •   Sajeetharan    6 年前

    我想你需要

    <div *ngIf="(avisosTest | async)?.length==0">No records found.</div>
    

    <div *ngIf="(avisosTest | async)?.length>0">{{avisosTest.legnth}}</div>