【发布时间】:2016-10-29 16:17:27
【问题描述】:
在我的 Angular 2 组件中,我有一个 Observable 数组
list$: Observable<any[]>;
在我的模板中
<div *ngIf="list$.length==0">No records found.</div>
<div *ngIf="list$.length>0">
<ul>
<li *ngFor="let item of list$ | async">item.name</li>
</ul>
</div>
但 list$.length 不适用于 Observable 数组。
更新:
似乎 (list$ | async)?.length 给了我们长度,但下面的代码仍然不起作用:
<div>
Length: {{(list$ | async)?.length}}
<div *ngIf="(list$ | async)?.length>0">
<ul>
<li *ngFor="let item of (list$ | async)">
{{item.firstName}}
</li>
</ul>
</div>
</div>
谁能指导我如何检查 Observable 数组的长度。
【问题讨论】:
-
您的方法还有另一个主要问题:通过在模板中反复利用异步管道,您实际上启动了对单个 Observable 的许多订阅。 KAMRUL HASAN SHAHED 采用上述正确方法:使用异步管道一次,然后为可以在子节点中利用的结果提供别名。
标签: angular observable angular2-template angular2-services