Импортировать BehaviorSubject в служебный файл (например: ApiProvider.ts)
import { Subject } from 'rxjs/Subject';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
Созданы Необходимые переменные
public dataSource = new BehaviorSubject(null);
public dataSourceChanges$ = this.dataSource.asObservable();
После получения ответа API вызовите метод ниже. Это отправит данные для компонентов, которые когда-либо подписывались
changeInDatatatus(data:any): void {
this.selectedNetworkSource.next(data);
}
И в компоненте OnInit
this.dataSubscription = this.ApiProvider.dataSourceChanges$.subscribe(
(apiData) => {
if (apiData) {
assign to your component local variable
this.componenetLocalvar = apiData;
}
});
Вы можете подписаться на этот наблюдаемый в нескольких компонентах, когда при изменении данных данные будут совместно использоваться всеми подписанными компонентами
Примечание:
Не забудьте отказаться от подписки в компоненте OnDestroy