你好伙计们我试图通过从组件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);
})
我什么都没得到,你能不能帮我解决这个问题
谢谢你们答案 0 :(得分:0)
我认为在接收者能够订阅之前事件被发出是一个时间问题。要解决此问题,请使用BehaviorSubject
或ReplaySubject
private employeeIdList = new BehaviorSubject<any>();
另一个可能的原因是您在多个地方提供服务,这可能会导致您获得多个实例,其中一个实例正在发出事件,但接收方正在订阅另一个实例。