Я получил это json из вызова api rest
{"items":[{"id":"1","name":"Adam","age":20},{"id":"2","name":"Cris","age":32}]}
Из Api я получил объект UserResult, который содержит список определенных c объектов пользователей. Я хотел бы отображать в файле html значения для всех пользовательских объектов - имена для каждого пользователя.
<div>
<ng-container *ngFor="let name of user">
<div>
<span>{{user.name}}</span>
</div>
</ng-container>
</div>
Мой data.service выглядит так:
@Injectable({
providedIn: 'root'
})
export class DataService {
constructor(private httpClient: HttpClient) { }
public getUsers(): Observable<UserResult> {
return this.httpClient.get<UserResult>(baseUrl);
}
}
, а component.ts выглядит так:
export class SidebarComponent implements OnInit {
users: UserResults;
constructor(private dataService: DataService) { }
ngOnInit(): void {
this.getUsers();
}
private getUsers() {
this.dataService.getUsers().subscribe(
data => {
this.users = data;
}
)
}
}
Как я понял из этой ошибки я могу не отображать значения для указанного c объекта, как я стараюсь.
ERROR Error: Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.
Должен ли я создать, скажем, массив с типом User, а затем попытаться отобразить в html каждого отдельного пользователя?
Сопоставить мой ответ api из UserResults с users:User[]
? Или есть другой способ сделать это?