这是我的班级代码
img is not None
这是来自服务的代码
this.product$ = <BehaviorSubject<Product>>this.route.params.switchMap(
(params): BehaviorSubject<Product> =>
this.productService.getProduct(params['_id'])
);
我声明类型,也是演员类型,但是当我写
时 getProduct(_id: string): BehaviorSubject<Product> {
const bs = new BehaviorSubject<Product>
(ProductService.initializeProduct());
if (_id !== '0') {
this.productSub = this.databaseService.getProduct(_id).subscribe(
product => {
bs.next(product);
}
);
}
return bs;
}
我收到此错误:
ERROR TypeError:this.product $ .getValue不是函数
感谢
答案 0 :(得分:2)
这不是switchMap
- 和RxJS一般 - 的工作方式。运算符返回的可观察量取决于调用运算符的可观察量。所述observable可以实现lift
以返回相同类型的可观察实例。
您对switchMap
的调用结果将从this.route.params
可观察对象中解除。它不是BehaviorSubject
,也没有getValue
方法。