【发布时间】:2019-02-26 18:29:13
【问题描述】:
我正在尝试将 JSON 对象映射到我在我的 Angular 应用程序中配置的可观察接口,我希望一旦我映射了它,我可以将它用作循环通过 ngFor 的输入。
不幸的是,我不相信我正在正确配置我的服务,或者可能是服务调用。
我将 json 对象作为单个对象返回,但 ngFor 没有正确循环返回的结果,任何帮助指出我可能忽略的内容将不胜感激。
// 我正在尝试访问的接口
export interface IProduct {
name: string;
description: string;
price: number;
category: string;
image: string;
}
// 我正在尝试调用的服务
private productList = new BehaviorSubject<IProduct[]|null>(null);
productListChanges$ = this.productList.asObservable();
constructor(private http: HttpClient) { }
getProds(): Observable<IProduct[]> {
this.productList.next(null);
return this.http.get<IProduct[]>
('http://localhost:4200/assets/data/products.json')
.pipe(
tap(data => this.productList.next(data)),
);
}
// 调用服务
productsList: IProduct[] = [];
this.productService.getProds().subscribe((response: any) => {
this.productsList = response.products[0] as IProduct[];
console.log(this.productsList);
});
// 尝试将 ngFor 用于获取的对象
<app-product *ngFor="let product of productsList" [prod]="product" ></app-product>
// 来自服务调用的控制台日志输出以下内容
【问题讨论】:
标签: angular components angular-services ngfor