数据从AppComponent传递到另一个在不同时间加载的组件

时间:2017-08-25 11:06:10

标签: angular angular2-services

我想在AppComponent中调用一个服务来获取一些数据,然后我想将它发送到另一个时候加载的另一个组件。如何确保可以在其他组件中捕获数据?我希望这个设置最小化API调用,因为我们从apis获得的相同数据在2-3个地方重用。

2 个答案:

答案 0 :(得分:0)

您可以在服务中使用BehaviorSubject。 当后来加载的组件注入服务并订阅BehaviorSubject时,它将立即获得最后一次发射的值。

答案 1 :(得分:0)

您希望将数据存储在全局可注入服务中。在此服务中,您应该定义一个BehaviorSubject。见下文。

@Injectable()
export class DataService {

  // Can subscribe to and emit events from a BehaviorSubject
  // BehaviorSubject can act like an event bus but will also return the last value in the stream upon subscription
  public userSubject = new BehaviorSubject(null);

}