0

我有一项通过 RESTful api 获取用户的服务。它使用Observable实现。

我还有一个包含 8 个子组件的父组件。

我想知道是否以及如何在父组件中发出单个 HTTP 请求,以获取用户并在其子组件中共享它。

这是在父级中定义用户的调用:

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

我已经将用户模型导入并注入到每个组件的 constructor() 中,如下所示:

constructor(public user: User){}

一旦在父组件中定义了用户,我就有一个console.log(user)在子组件中触发 a 的按钮,它返回为undefined.

4

1 回答 1

0

如果您只想发出一个 HTTP 请求并共享用户数据,请创建一个服务存储您的用户对象。它可用于模块中的每个组件(根和所有子组件)。

您也可以使用ngRx商店理念 - https://github.com/ngrx/store。此解决方案的优点是您可以在应用程序的每个片段中订阅用户存储。

于 2016-08-17T21:39:32.030 回答