NgFor поддерживает привязку только к Iterables, таким как массивы, при использовании массива для создания раскрывающегося списка

При запуске приложения я получаю следующую ошибку:

ОШИБКА Ошибка: не удается найти другой поддерживающий объект '[объект объекта]' типа 'subLandscape'. NgFor поддерживает привязку только к Iterables, таким как Arrays.

Переменная subLandscape, о которой я говорю в HTML, является массивом, но при использовании с "ngFor" выдает ошибку.

HTML:

 <div class = "form-group" [class.has-error] = "subLandscape.invalid && subLandscape.touched">
          <strong>Sub Landscape</strong>
          <br>
          <p>Please choose from one of the Sub Landscape options. Sub Landscape options are for reporting only.</p>
          <label class = "control-label">SubLandscape:</label>
          <mat-select #subLandscape = "ngModel" type = "text" class = "form-control"  name = "subLandscape" [ngModel] = "model.subLandscape">
              <mat-option *ngFor = "let item of subLandscape">
                  {{ item }}
              </mat-option>
          </mat-select>
          <div *ngIf = "subLandscape.invalid && subLandscape.touched" class = "alert alert-danger">
            Select the Sub Landscape from the provided list.
          </div>
 </div>

Модель:

export class SModel {
  constructor (
    public description: string,
    public reasons: string,
    public projectName: string,
    public subLandscape: string,
    public centerdata: string,
    public nom: number,
    public size: string,
    public dbgh: string
  ) {

  }
}

Составная часть:

import { Component, OnInit } from '@angular/core';
import { Standalone } from '../standalone';
import { StandaloneModel } from '../models/standalone.model';
import {MatTableModule, MatTableDataSource} from '@angular/material/table';

@Component({
  selector: 'app-standalone-form',
  templateUrl: './standalone-form.component.html',
  styleUrls: ['./standalone-form.component.css']
})
export class StandaloneFormComponent {
  public project: string[] = ['', 'appdev', 'apptest', 'appqa'];
public subLandscape: string[] = ['DEV', 'Testing', 'QA', 'UAT'];
  public dataCenter: string[] = ['PDC', 'SDC'];
public model = new SModel('', '', '', '', '', 0, '', '');

}
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
0
135
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вероятно потому, что он не может отличить subLandscape от #subLandscape = "ngModel" и массив свойств компонентов public subLandscape: string[] = ['DEV', 'Testing', 'QA', 'UAT'];. Изменение имени должно решить проблему.

Другие вопросы по теме