<div *ngIf="!!(result$ | async)">
{{!!(result$ | async)}}
</div>
我希望它为空,然后显示true
。令人惊讶的是,它会显示false
,然后显示true
。 {{}}
和*ngIf
是否有不同的评估机制? result$
的类型为Observable<{ products: any[] }>
。
constructor() {
this.result$ = Observable.of("Dummy!").delay(3000);
}
Angular2发布版
答案 0 :(得分:1)
实际原因是result$
中的可观察性很冷,每次被调用时都会重新运行。我的标记中有两个result$ | async
调用。我要么需要创建一个实际变量来存储订阅值,要么将share
运算符添加到observable以防止重新运行。
有issue on github的解决方法。