#angular #typescript
Вопрос:
Я пытаюсь отобразить свой json с помощью httpclient, но у меня есть ошибка, которую я не могу решить.
у меня есть эта ошибка: Ошибка при попытке отличить «[объект объекта]». Разрешены только массивы и итеративные объекты
Спасибо.
json
{
"toto": [
"titi",
"tata"
],
"foo": [
"foobar",
"footix"
]
}
ts.файл
get() {
this.homeService.getAll().subscribe(result => {
this.postArray = resu<
console.log(this.postArray);
});
}
HTML
<div*ngFor="let post of postArray">
<span>{{post.libelle}}</span>
</div>
</div>
интерфейс
export interface Ipost {
toto:string[],
foo:string[]
}
Ответ №1:
Ошибка объясняется сама собой. *ngFor
поддерживает только итеративные объекты, в то время как вы пытаетесь выполнить итерацию объекта.
Вы могли бы использовать keyvalue
трубу именно в таких случаях:
<div*ngFor="let post of postArray | keyvalue">
<h3>{{ postArray.key }}</h3>
<span *ngFor="let item of postArray.value">{{ item }}</span>
</div>
Для примера объекта в вопросе вышеизложенное будет отображать следующее
тотошка
тити
тата
фу
foobar
footix