Typescript:错误 TS2740:类型“{}”缺少类型 'Product[]' 中的以下属性:length、pop、push、concat 等 26 个
Typescript: error TS2740: Type '{}' is missing the following properties from type 'Product[]': length, pop, push, concat, and 26 more
使用 Angular 4,我从 observable 中的 firebase db 获取数组列表。如何将 observable 的类型更改为数组或相反以使其工作?
我写的没有不同的功能。我正在使用一个内置函数 switchMap,在其中分配一个 Products 数组。我无法弄清楚如何将 switchMap observable 更改为 array observable。
constructor(
route:ActivatedRoute,
productService: ProductService ) {
productService
.getAll()
.switchMap(products => {
//getting compile error at below line for this.products
this.products = products;
return route.queryParamMap;
})
.subscribe(params => {
this.category = params.get('category');
this.filteredProducts = (this.category) ?
this.products.filter(p => p.category === this.category) :
this.products;
});
}
switchMap observable returns 结果一次一个项目,这里有一个数组列表。我如何让它工作。
我明白了。 :)
我将 product.service.ts 中方法的 return 类型更改为 可观察产品数组 .
getAll(): Observable<Product[]>{
return this.db.list('/products');//to get list of all products
}
get(productId): Observable<Product[]>{
return this.db.object('/product/' + productId);
}
使用 Angular 4,我从 observable 中的 firebase db 获取数组列表。如何将 observable 的类型更改为数组或相反以使其工作?
我写的没有不同的功能。我正在使用一个内置函数 switchMap,在其中分配一个 Products 数组。我无法弄清楚如何将 switchMap observable 更改为 array observable。
constructor(
route:ActivatedRoute,
productService: ProductService ) {
productService
.getAll()
.switchMap(products => {
//getting compile error at below line for this.products
this.products = products;
return route.queryParamMap;
})
.subscribe(params => {
this.category = params.get('category');
this.filteredProducts = (this.category) ?
this.products.filter(p => p.category === this.category) :
this.products;
});
}
switchMap observable returns 结果一次一个项目,这里有一个数组列表。我如何让它工作。
我明白了。 :) 我将 product.service.ts 中方法的 return 类型更改为 可观察产品数组 .
getAll(): Observable<Product[]>{
return this.db.list('/products');//to get list of all products
}
get(productId): Observable<Product[]>{
return this.db.object('/product/' + productId);
}