* ng如果长度不起作用,但显示出良好的价值

时间:2019-11-21 16:06:32

标签: angular

在我的模板中:

{{(services | async)?.length}}

返回“ 3”-数组中的有效项目数。 但是当我使用* ngIf:

<ion-text *ngIf="(services | async)?.length == 3">{{(services | async)?.length}}</ion-text>

不显示任何内容。我不明白为什么* ngIf返回false?

1 个答案:

答案 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>