角度2共享阵列通过服务

时间:2017-03-29 08:17:34

标签: arrays angular angular2-services

你好伙计们我​​试图通过从组件1到组件2的服务在Angular 2中共享一个数组但是我在这里得不到任何东西是我的代码

我的服务

private employeeIdList = new Subject<any>();    
employeeIdList$ = this.employeeIdList.asObservable();

public setEmployeeList(employeeIdList){
    this.employeeIdList.next(employeeIdList);
}

从组件1我尝试这样做:

this.sharedService.setEmployeeList(this.employeeId);
  

this.employeId是一个元素数组

当我尝试像这样访问它时

this.sharedService.employeeIdList$.subscribe(employeeList => {
  console.log(employeeList);
})

我什么都没得到,你能不能帮我解决这个问题

谢谢你们

1 个答案:

答案 0 :(得分:0)

我认为在接收者能够订阅之前事件被发出是一个时间问题。要解决此问题,请使用BehaviorSubjectReplaySubject

private employeeIdList = new BehaviorSubject<any>();    

另一个可能的原因是您在多个地方提供服务,这可能会导致您获得多个实例,其中一个实例正在发出事件,但接收方正在订阅另一个实例。