Один простой способ сделать это - определить интерфейс, который описывает расположение элементов вашего массива.Например, мой массив продуктов имеет такой интерфейс:
export interface Product {
id: number;
productName: string;
productCode: string;
category: string;
tags?: string[];
releaseDate: string;
price: number;
description: string;
starRating: number;
imageUrl: string;
}
Метод http get Angular автоматически сопоставит входящий массив API с массивом этих объектов:
getProducts(): Observable<Product[]> {
return this.http.get<Product[]>(this.productsUrl);
}
Обратите внимание на общий параметр: <Product[]>
.Это говорит http-методу get get возвращать объект как массив объектов Product, соответствующих определенному выше интерфейсу.
Затем я могу использовать что-то вроде этого:
this.products[0].productName
Или я могу выполнить итерациюэто в моем пользовательском интерфейсе так:
<tr *ngFor="let product of products">
<td>
<a>{{ product.productName }}</a>
</td>
<td>{{ product.productCode }}</td>
<td>{{ product.releaseDate }}</td>
<td>{{ product.price | currency:"USD":"symbol":"1.2-2" }}</td>
</tr>
Надеюсь, это поможет.