HttpClient Получить объект объект

#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