可观察数组* ngFor指令Angular

时间:2019-02-22 11:14:22

标签: angular observable

我陷入了“错误错误:找不到类型为'object'的其他支持对象'[object Object]'。NgFor仅支持绑定到Iterables,例如数组。”

我正试图建立一个购物篮存储,以便向我的购物篮页面提供数据。

在我的服务下,我得到了:

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 :(得分:0)

nourriturePanierTest是可观察的。您需要将此可观察对象存储在某个数组中,然后在ngFor中使用该数组。

ngFor仅适用于Array。

我为您的帮助添加了一些代码。

nourriturePanierTest: Nourriture[];
ngOnInit() {
this.nourriturePanierTest= this.panierService.getNourriturePanier().subscribe(res=>{
this.nourriturePanierTest= res })
}

答案 1 :(得分:0)

您必须订阅可观察对象,而不是将其分配给变量:

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

,如果this.nourritureArrayTest是一个数组,它将起作用