У меня есть два компонента (родительский и дочерний) и один сервис, которые подписаны на предметный класс одновременно. Но когда подчиненный класс отправляет данные, используя метод next
, только один компонент (дочерний) получает данные.
navbar.component.ts: (отправитель):
this.messageService.setClientUserAuth(this.respObject.details.actionDtls);
message.service.ts: (подписчик)
constructor(private route: Router, private _rest: RestApiService) {
this.getClientUserAuth().subscribe(auth => {
console.log('AUTH :' + JSON.stringify(auth));
});
}
setClientUserAuth(id: any) {
this.clientUserAuth.next(id);
}
getClientUserAuth(): Observable<any> {
this.clientUserAuth = new Subject<any>();
return this.clientUserAuth.asObservable();
}
base-template.component.ts: (подписчик) (дочерний элемент)
ngOnInit() {
this.messageService.getClientUserAuth().subscribe(auth => {
console.log('------------>' + JSON.stringify(auth));
});
}
action.component.ts (подписчик) (родитель)
constructor(private _rest: RestApiService, private messageService: MessageService,
private route: Router, private modalService: NgbModal, notifier: NotifierService) {
this.messageService.getClientUserAuth().subscribe(auth => {
console.log('----::----->' + JSON.stringify(auth));
});
}
Когда данные поступают из компонента navbar, данные получает только функция базового шаблона subscription
, но если я удаляю метод subscription
из базового шаблона, то метод subscription
из компонента действия получает его. Но мне нужны данные во всех компонентах и сервисах одновременно, поскольку все они предоставляются одновременно. Как этого добиться.