В моем угловом приложении я хочу показать список продуктов, которые пользователь может выбрать.
Итак, в моем html-файле я написал следующий код:
<section fxLayout="column" fxLayoutAlign="center center">
<mat-selection-list #products>
<mat-list-option *ngFor="let product of products">
{{product.name}}
</mat-list-option>
</mat-selection-list>
</section>
В файле .ts у меня есть следующий код:
products;
constructor(private productService: ProductService) { }
ngOnInit() {
this.loadAll();
}
private loadAll(): Promise<any> {
this.products = [];
return this.productService.getAll()
.toPromise()
.then((result) => {
result.forEach(product => {
this.products.push(product);
});
})
.catch((error) => {
console.log(error);
});
}
Я получаю следующее сообщение об ошибке:
Ошибка: не удается найти другой поддерживающий объект '[object Object]' типа 'object'. NgFor поддерживает только привязку к итерациям, таким как массивы.
Дело в том, что продукты - это (!) Массив.
Тем не менее, я получаю это сообщение об ошибке, как будто this.products фактически не является массивом.
Что здесь происходит?