2016-09-16 91 views
3
<div *ngIf="!!(result$ | async)"> 
    {{!!(result$ | async)}} 
</div> 

我希望它是空白的,然后显示true。令人惊讶的是,它显示false然后true{{}}*ngIf有没有不同的评估机制? result$类型为Observable<{ products: any[] }>为什么AsyncPipe在{{}}评估不同,* ngIf

constructor() { 
    this.result$ = Observable.of("Dummy!").delay(3000); 
} 

+1

你可以发布myService.getResult函数的实现吗? –

+0

@HarryNinh这里是他执行 – rgripper

+0

如果我不得不猜测,我会说结构指令在ViewInit和interInjection在ContentInit – cvsguimaraes

回答

1

的实际原因Angular2发行版本是,观察到在result$是冷的,并得到重新运行每次它叫。在我的标记中有两个要求result$ | async。我需要创建一个实际的变量来存储订阅的值,或者添加share运算符到observable以防止重新运行。

变通办法有一个issue on github

相关问题