我有两个组件(父级和子级)和一个服务,它们同时订阅了一个主题类。但是当主题类使用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));
});
}
当数据来自导航栏组件时,只有基本模板subscription
函数获取数据,但是如果我subscription
从基本模板中删除方法,则subscription
操作组件中的方法获取它。但是我希望所有组件和服务中的数据同时呈现,因为它们都同时呈现。如何实现这一点。