Это из-за этой строки:
this.apiService.getApi().subscribe(
(user) => {
this.api = user; // <-- this isn't an array
console.log(this.api);
},
(err) => {
console.log(err);
}
);
Возвращение вашего this.apiService.getApi
возвращает один объект, а не массив. *ngFor
не примет это.
Самый быстрый способ исправить это - просто обернуть его, но я уверен, что ваша конечная цель не в этом:
this.apiService.getApi().subscribe(
(user) => {
this.api = [ user ]; // wrap it in an array
console.log(this.api);
},
(err) => {
console.log(err);
}
);
Вы уверены, что хотите перебрать объект, или, возможно, конечная точка вашего узла не возвращает правильные результаты? Вы пытаетесь использовать *ngFor
для перебора свойств в объекте user
?
Может быть полезно опубликовать код вашего узла, если ваша конечная точка не возвращает то, что вы ожидаете (так как в конечном счете, именно здесь начинается проблема)
Помните, просто потому, что вы говорите TypeScript , что типа что-то, не означает, что это на самом деле будет этот тип во время выполнения