Я сталкиваюсь с этой проблемой, когда при вызове следующего метода для подписки при обновлении страницы возникает ошибка «Не удается прочитать свойство« подписка »из неопределенного» * 1001 *
Вот мой импорт:
import {Observable} from 'rxjs/Observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import "rxjs/add/operator/mergeMap";
Вот мой метод, который вызывает ошибку при обновлении страницы:
getChildSubItem(subItemTag:string): Observable<ChildSubItem[]> {
return this.subItemObservers$.mergeMap(obs => {
return obs.find(s => s.subItemTag === subItemTag)
.viewSubItemSource.asObservable();
});
}
У меня есть несколько свойств, которые используются для создания BehaviorSubject и Observable для BehaviorSubject.Я создал наблюдаемую для массива SubItemObservers, так как мне нужно, чтобы она была заполнена сначала через другой сервисный вызов.
private subItemObserversSource = new BehaviorSubject<SubItemObservers[]>([]);
private subItemObservers$: Observable<SubItemObservers[]> = new Observable<SubItemObservers[]>();
Вот класс для SubItemObservers:
export class SubItemObservers {
subItemTag: string;
viewSubItemSource: BehaviorSubject<ChildSubItem[]> = new BehaviorSubject<ChildSubItem[]>([]);;
}
На основе поиска GoogleМне нужно завершить метод, чтобы вернуть наблюдаемый объект.Но я не уверен, как это сделать с моим решением.Может кто-нибудь помочь мне, как я должен завершить подписку в методе, чтобы устранить ошибку.Что мне не хватает?Спасибо.