gpt4 book ai didi

angular - typescript : error TS2740: Type '{}' is missing the following properties from type 'Product[]' : length, 弹出、推送、连接等 26 个

转载 作者:行者123 更新时间:2023-12-04 12:10:52 26 4
gpt4 key购买 nike

使用 Angular 4,我从 observable 中的 firebase db 获取数组列表。如何将 observable 的类型更改为数组,反之亦然以使其工作?

我写的没有不同的功能。我正在使用一个内置函数 switchMap,在其中分配一个 Products 数组。我无法弄清楚如何将可观察的 switchMap 更改为数组可观察。

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 一次返回一项的结果,这里有一个数组列表。我如何使它工作。

最佳答案

我想到了。 :)
我更改了 中方法的返回类型product.service.ts 作为 可观察的产品数组 .

 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 - typescript : error TS2740: Type '{}' is missing the following properties from type 'Product[]' : length, 弹出、推送、连接等 26 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57214944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com