2016-09-16 137 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

相關問題