i-6ren">
gpt4 book ai didi

angular - 如何检查 Observable 数组的长度

转载 作者:太空狗 更新时间:2023-10-29 16:45:24 26 4
gpt4 key购买 nike

在我的 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 数组的长度。

最佳答案

您可以使用|异步管道:

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

更新 - 2021-2-17

<ul *ngIf="(list$| async) as list; else loading">
<li *ngFor="let listItem of list">
{{ listItem.text }}
</li>
</ul>

<ng-template #loading>
<p>Shows when no data, waiting for Api</p>
<loading-component></loading-component>
</ng-template>

更新 - Angular 版本 6:

如果您正在加载一个 css 骨架,您可以使用它。如果数组没有项目,它将显示 css 模板。如果有数据则填写ngFor

<ul *ngIf="(list$| async)?.length > 0; else loading">
<li *ngFor="let listItem of list$| async">
{{ listItem.text }}
</li>
</ul>

<ng-template #loading>
<p>Shows when no data, waiting for Api</p>
<loading-component></loading-component>
</ng-template>

关于angular - 如何检查 Observable 数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com