因此,我试图在有角度的应用程序中对我的FireStore进行一些动态查询。使用angular / fire 5.1。
这是交易:
products$: Observable<ProductModel[]>;
name$ = new BehaviorSubject<string>(null);
/*..*/
this.products$ = this.name$.pipe(
switchMap(query =>
this.db.collection<ProductModel>('products', ref => ref.orderBy('name').startAt(query)).valueChanges()
)
);
dataService.getDataObservable().subscribe(data => {
this.name$.next(data);
}
);
this.products$.subscribe(items => {
console.log(items);
}, err => {
console.log(err);
});
这没有捕获到错误。相反,我在控制台中收到TypeError:
core.js:12632错误TypeError:您提供了一个无效对象,该对象应用于流。您可以提供一个Observable,Promise,Array或Iterable。
我在那里做错了什么,动态查询的最佳实践是什么。遗憾的是,angular / fire软件包无法在线提供优质文档(至少免费提供)。
答案 0 :(得分:0)
您需要从行为主体发出一些价值。因此,您可以使用管道运算符来接收可观察的值。
&myPerson