Я пытаюсь использовать канал async
для отображения таблицы в Angular, но получаю сообщение об ошибке: "... Невозможно найти отличающийся вспомогательный объект '[object Object]' типа 'object'. NgFor поддерживает только привязку к итерациям, таким как массивы. "
Мой код:
<div *ngIf="studentList | async; else loading">
<table>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
<tr *ngFor="let student of studentList">
<td>{{student.id}}</td>
<td>{{student.first_name}}</td>
<td>{{student.last_name}}</td>
</tr>
</table>
{{studentList | json}}
</div>
<ng-template #loading>
<div>Loading ...</div>
</ng-template>
Сервер возвращает Observable<Student[]>
Если я заменим ngFor
на приведенное ниже, это сработает, но это означает, что будут сделаны два HTTP.get
вызова, которые мне не нужны:
<tr *ngFor="let student of (studentList | async)">
Можно ли мне повторно использовать значение studentList
из ngIf
в ngFor
, сделав таким образом только один запрос к моему бэкэнду?