2016-10-26 70 views
-2

如何ngFor(異步管)使用可觀察到的,我有以下HTML模板:當元素是隱藏在Angular2

<div *ngIf="googleSearchVisible"> 
    <div *ngFor="let location of googleSearchLocations | async"> </div> 
</div> 

現在,當我開始將數據推送到觀察到的什麼也沒有發生。我確實相信會發生這種情況,因爲元素不會訂閱可觀察的元素。

我試圖在onInit期間添加googleSearchLocations.subscribe,這確實會強制對服務進行調用,甚至會使ngIf可見,但ngFor仍然不會呈現任何內容。

我該如何執行observable這種方式?

P.S.當我加載數據時,googleSearchVisible.do中打開。

+0

[可以在Angular2/Typescript中用自己的數據更新Observable嗎?](http://stackoverflow.com/questions/40260197/is-it-possible-to-update-observable-with-own -data-in-angular2-typescript) – martin

+0

這不是重複的,它是一個獨立的問題,關於ngIf下observables的行爲。它可以用來解決你提到的問題中的問題,所以它們在某種程度上是相關的,但在我的腦海裏根本不是重複的。 –

回答

0

我發現,它確實很好地工作hidden

<div [hidden]="!googleSearchVisible"> 
    <div *ngFor="let location of googleSearchLocations | async"> </div> 
</div> 

這雖然沒有什麼爲什麼即使有subscribe渲染沒有解釋。

github上發現相關問題。看起來有角度的錯誤。