【发布时间】:2020-03-31 11:25:21
【问题描述】:
我有和可观察的和一个条件:
let data$: Observable<DataModel[]>;
this.httpClient.get<DataModel[]>>(`data`)
.pipe(map((result: DataModel[]>) => this.data$ = result));
let result: boolean = this.data$.pipe(
map(x => x.find(y => y.child.some(z => z.id == id))),
map(x => x ? ['B'].some(y => y === x.child.find(z => z.id == 2)) : false));
我现在将 data$ 从 Observable<DataModel[]> 更改为 BehaviorSubject<DataModel[]> 并使用 this.data$.next(result) 设置 data$ 值。
let data$: BehaviorSubject<DataModel[]>;
this.httpClient.get<DataModel[]>>(`data`)
.pipe(map((result: DataModel[]>) => this.data$.next(result));
let result: boolean = this.data$.pipe(
map(x => x.find(y => y.child.some(z => z.id == id))),
map(x => x ? ['B'].some(y => y === x.child.find(z => z.id == 2)) : false));
使用 BehaviorSubject 时,this.data$.pipe( 出现错误
undefined is not an object (evaluating 'this.data$.pipe')
我错过了什么?
【问题讨论】:
标签: angular rxjs angular8 angular-observable