Я пытаюсь использовать службу angular для хранения и передачи данных через наблюдаемое.
Вот моя служба
public _currentLegal = new BehaviorSubject({
name: 'init',
_id: 'init',
country: 'init',
city: 'init',
});
readonly currentLegal$ = this._currentLegal.asObservable();
constructor(private http: HttpClient) {
}
setCurrentLegal(legal) {
const legaltest = {
name: 'test',
_id: 'test',
country: 'test',
city: 'test',
}
console.log('emitting next value from', legal.name)
this._currentLegal.next({ ...legaltest });
}
У меня есть компонент, который вызывает setCurrentLegal, console.log запущен и исправен. Затем я перехожу к другому компоненту, который подписывается на наблюдаемый currentLegal $, и значение остается тем же (init)!
Я попытался получить доступ к значению напрямую, установив тип publi c и используя getValue (), то же самое . Я пробовал продублировать объект, чтобы не передавать ссылку, ничего не изменил.
Вот мой компонент индексации ngOnInit:
ngOnInit(): void {
this.legalToUpdate = this.legalService.currentLegal$.subscribe((legal) => {
console.log(legal)
})
}
Что здесь не так? Спасибо