2016-08-17 41 views
0

我有一個通過RESTful API獲取用戶的服務。它使用Observable實現。我也有一個父組件8個子組件。angular2是否可以與其他組件共享可觀察數據?

我想知道是否以及如何在父組件中創建單個HTTP請求,以獲取用戶並在其子組件中共享它。

這裏的父定義用戶的呼叫:

this.userApi.getUser(id) 
     .subscribe(response => {this.user = response;}, 
        error => error); 

我已經導入並注入用戶模型到構造()每個組件的,像這樣:

constructor(public user: User){} 

一旦用戶是在父級中定義的,我有一個按鈕在子組件中觸發console.log(user),它返回爲undefined

+0

你在NG2 RC4或RC5上嗎? –

+0

請發佈您的getUser()實現 –

回答

0

如果你想只有一個HTTP請求和共享用戶數據,創建一個服務,這將用戶對象。它將適用於模塊中的每個組件(根和所有兒童)。

你也可以使用ngRx商店的想法 - https://github.com/ngrx/store。這個解決方案的優點是你可以在每個應用程序片段中訂閱用戶存儲。

相關問題