我喜欢在模板上使用ngFor
在Angular 2中进行Observable
循环,但我收到此错误:
ORIGINAL EXCEPTION: Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.
这是投掷错误的Plunker:
<template ngFor let-itemz [ngForOf]="item">
<div>
{{itemz.title}} | {{itemz.type}}
</div>
</template>
我知道构造函数中的代码可能令人困惑,但这只是我所拥有的更大应用程序的简短版本。
我无法转换数组中的Observable,我必须使用Observable。
问题是:我可以使用Observable进行模板ngFor
循环,或者我唯一可以使用的是Array吗?
答案 0 :(得分:2)
您可以使用async pipe在场景后为您订阅和提取数据:
<template ngFor let-itemz [ngForOf]="item | async">
<div>
{{itemz.title}} | {{itemz.type}}
</div>
</template>
答案 1 :(得分:1)
您可以使用异步管道打印Observeable:
<div *ngFor="let itemz of item | async">
https://plnkr.co/edit/FAJCUKVPOlxulszdrZOU?p=preview
好运!