Я пытаюсь сопоставить объект JSON с наблюдаемым Интерфейсом, который я настроил в своем угловом приложении, я надеюсь, что после его сопоставления я смогу использовать его в качестве входного для циклического прохождения через 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>
// Журнал консоли с выходов вызова службыследующий
logOutput из сервисного вызова