Я пытаюсь создать простой набор строк (Iteratable) в машинописи и использовать Angular ngFor, чтобы отобразить их все на моей странице. Я пробовал несколько способов создания массива, но ни один из них не возвращал итерируемый обратно.
последнее усилие, которое я сделал, выглядит следующим образом.
vehicles: String[] = [];
ngOnInit() {
this.vehicles.push('vehicle 1');
this.vehicles.push('vehicle 2');
this.vehicles.push('vehicle 3');
this.vehicles.push('vehicle 4');
this.vehicles.push('vehicle 5');
console.log(this.vehicles);
}
Я тоже пробовал
vehicles = ['Vehicle 1', 'Vehicle 2', 'Vehicle 3', 'Vehicle 4', 'Vehicle 5'];
или
vehicles: ['Vehicle 1', 'Vehicle 2', 'Vehicle 3', 'Vehicle 4', 'Vehicle 5'];
даже
vehicles = <String[]>['Vehicle 1', 'Vehicle 2', 'Vehicle 3', 'Vehicle 4', 'Vehicle 5'];
но во всех случаях, когда я использую ngFor:
<div *ngFor="let vehicle of vehicles">
<div class="row" #row>
<mat-card>{{vehicle}}</mat-card>
</div>
</div>
Я получаю ошибку
Ошибка: не удается найти другой объект поддержки [[объект]]
типа «объект». NgFor поддерживает только привязку к Iterables, таким как
Массивы.
когда я печатаю console.log (this.vehicles), я получаю ожидаемый ответ:
[«Транспортное средство 1», «Транспортное средство 2», «Транспортное средство 3», «Транспортное средство 4», «Транспортное средство 5»]
как вернуть массив как массив Iterable, а не объект '[object Object]'?