私は非同期パイプとngFor指示をAngular 4.4で使用しようとしました。 それはうまく動作しますが、コンソールに奇妙なエラーメッセージが表示されます:角度4. ngForとasyncの問題
"エラー:オブジェクト 'オブジェクト'の[オブジェクトオブジェクト]が見つかりません。
<table>
<tbody>
<tr *ngFor="let event of events | async">
</tr>
</tbody>
</table>
export class EventsComponent {
events: Observable<Array<Event>>;
constructor(private eventService: EventService) {
this.events = this.eventService.findAll();
}
}
私はPlunkerであなたのエラーを再現
'* ngFor'は配列を反復処理するだけですが、反復オブジェクトはサポートしません。 https://stackoverflow.com/questions/41396435/how-to-iterate-object-object-using-ngfor-in-angular-2/41396558#41396558 –
のようなパイプを使用することができます。 findAll()によって返されるobservableは、配列ではなくオブジェクトであるように見えます。あなたが実際にそのメソッドから(実行時に)返すものを確認してください。 –
まあ、findAllメソッドは、Observableの配列を返します。したがって、ngForは実際に返されたデータを表示します。唯一の問題はコンソールのエラーメッセージです。 – Sergey