У меня есть служба со следующим
@Injectable({
providedIn: 'root'
})
export class MyService {
private mySubject = new BehaviorSubject({});
public currentData = this.mySubject.asObservable();
updateData(data: any) {
this.mySubject.next(data);
}
}
У меня есть компонент, который подписан на Observable
со следующим:
export class MyComponent implements OnInit {
constructor(private myService: MyService) { }
ngOnInit() {
this.myService.currentData.subscribe(data => /* some logic here */);
}
}
У меня есть другой компонент, который вызываетupdateData
метод обслуживания.
export class AnotherComponent {
constructor(private myService: MyService) { }
onClick(data) {
this.myService.updateData(data);
}
}
Я ожидаю, что .subscribe
, определенный в MyComponent
, будет вызван при вызове this.myService.updateData
в AnotherComponent.onClick
, но это не так.Я могу подтвердить, что к Observable присоединен подписчик, как и следовало ожидать, учитывая код.