2016-08-17 31 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。这个解决方案的优点是你可以在每个应用程序片段中订阅用户存储。

相关问题