"@angular/core": "^6.1.4"
这是我的.html:
<div *ngIf="errors$ | async as errors">
<div class="container alert alert-danger" *ngIf="errors.length > 0">
<b>{{errors.length}} error(s)</b>
<ul *ngFor="let error of errors">
<li>{{error}}</li>
</ul>
</div>
</div>
我的问题是:我可以将其缩减为一个*ngIf
吗?
我尝试了以下方法:
(errors$ | async as errors).length > 0
(errors$ | async as errors) && errors.length > 0
这两个都给出了模板解析错误。
我已经看过How to check the length of an Observable array,这个问题有所不同,因为我想使用as
语法。
我要做的就是使用as
语法订阅可观察的内容,并且仅在数组的长度大于0时才显示此div。将不胜感激!
答案 0 :(得分:2)
怎么样
*ngIf="(errors$ | async)?.length > 1 && (errors$ | async)?.length < 5"
或
*ngIf="(errors$ | async)?.length > 0 && (errors$ | async) as errors">
更新
在github上有一个问题。请参阅the link。显然,尚不支持此行为。