Observable Array * ng для директивы Angular - PullRequest
0 голосов
/ 22 февраля 2019

Я застрял с сообщением об ошибке «ОШИБКА: невозможно найти отличающийся поддерживающий объект« [объект-объект] »типа« объект ». NgFor поддерживает только привязку к итерируемым объектам, таким как массивы.»

I'mпытаясь настроить магазин корзины для предоставления данных в мой BasketPage.

В моем сервисе я получил:

nourritureArrayTest: Nourriture[] = [];
getNourriturePanier(): Observable<Nourriture[]> {
  return of(this.nourritureArrayTest)
}

на своей странице корзины ts:

nourriturePanierTest: Observable<Nourriture[]>
ngOnInit() {
  this.nourriturePanierTest= this.panierService.getNourriturePanier()
}

nourritureArrayTest - это массив объектов типа

в моем Basket.html

<div *ngFor="let extra of nourriturePanierTest | async">
<p>{{extra.name}}</p></div>

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Вы должны подписаться на наблюдаемое, а не назначать его переменной:

ngOnInit() {
  this.panierService.getNourriturePanier().subscribe(res=>{
    this.nourriturePanierTest= res
  })
}

, и оно будет работать, если this.nourritureArrayTest является массивом

0 голосов
/ 22 февраля 2019

nourriturePanierTest является наблюдаемым.Вам нужно сохранить это наблюдаемое в некотором массиве, а затем использовать этот массив внутри ngFor.

ng - работает только на массиве.

Я добавил код для вашей помощи.

nourriturePanierTest: Nourriture[];
ngOnInit() {
this.nourriturePanierTest= this.panierService.getNourriturePanier().subscribe(res=>{
this.nourriturePanierTest= res })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...