Я бы попросил вас опубликовать сервисный код, но я попытаюсь угадать, что использование Субъекта не является самым рекомендуемым (вероятно, у вас есть свои причины).
Я бы хотелиметь сервис, похожий на этот:
export class MyService {
private subject = new Subject<number>();
updateCount(n: number) {
this.subject.next(n);
}
getCount(): Observable<number> {
return this.subject.asObservable();
}
}
На стороне компонента, в методе ngOnInit
, я бы не получил весь предмет, но субъект как наблюдаемый, и подписка будет выглядеть так:
this.myservice
.getCount()
.subscribe(() => {
//DO..SOMEYHING
})
Вы упомянули, что следующая подписка вызывается другим компонентом . Теперь вы можете использовать метод updateCount в сервисе, централизуя логику в сервисе, и вы можете легко над ним издеваться.
Надеюсь, это поможет!