在我的模板中:
{{(services | async)?.length}}
返回“ 3”-数组中的有效项目数。 但是当我使用* ngIf:
<ion-text *ngIf="(services | async)?.length == 3">{{(services | async)?.length}}</ion-text>
不显示任何内容。我不明白为什么* ngIf返回false?
答案 0 :(得分:1)
这是因为在您的可观察对象发出属性长度等于3的第一个值之前未执行第二个预订,所以条件变为true且第二个表达式得到求值,尝试将(services | async)?. length分配给另一个范围较大的变量,然后在测试和显示中使用它。
<ng-container *ngIf="(services | async)?.length as length">
<ion-text *ngIf=" length=== 3">{{length}}</ion-text>
</ng-container>