ОШИБКА Ошибка: невозможно найти другой поддерживающий объект «[объект-объект]» типа «объект». NgFor поддерживает привязку только к Iterables Angular 9 - PullRequest
0 голосов
/ 01 августа 2020

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

Я пробовал. json, но он не работает в angular 9

Мой компонент. html

  <div class="form-group">
                <label for="">Ville</label>
                <select class="form-control" #hh
                    (change)="getidregion(hh.value)">
                    <option></option>
                    <option *ngFor="let ville of dropDownList"
                        [value]="ville.id">
                        {{ville.nomVille}}
                    </option>

                </select>

            </div>

My Component.TS:

dropDownList: [];

  responsable = {

    id: 0,
    nomResponsable: '',
    prenomResponsable: '',
    emailResponsable: '',
    mdpResponsable: '',
    img: '',
    rib: '',
    dtn: '',
    region: 0,
    ville: 0,
  };

    methodAPIToGetVilles() {
        this.res.getville()
          .subscribe((s: any) => {
            this.dropDownList = s;
    
          });
      }
    
      //methode to get the value off the idville in the option
      getidville(id: any): void {
        this.responsable.ville = id;
    
      }
    
      curUser: any = this.responsable[0];

Мои данные API:

"@context": "/api/contexts/Ville",
    "@id": "/api/villes",
    "@type": "hydra:Collection",
    "hydra:member": [
        {
            "@id": "/api/villes/6",
            "@type": "Ville",
            "nomVille": "Davidboeuf"
        },
        {
            "@id": "/api/villes/7",
            "@type": "Ville",
            "nomVille": "Benoitboeuf"
        }];

Ответы [ 2 ]

1 голос
/ 01 августа 2020

Я полагаю, вы пытаетесь сделать что-то вроде этого:

<div *ngFor="let item of object | keyvalue">
  {{item.key}}:{{item.value}}
</div>

Здесь также довольно хорошо даны ответы на эти вопросы:

Итерация по объекту в Angular

Как l oop поверх свойств объекта с помощью ngFor in Angular

0 голосов
/ 01 августа 2020

Если вы используете *ngFor, он поддерживает только данные типа array or iterables only.

В вашем сценарии данные в вашей переменной dropDownList либо объекта типа, либо может быть нулевым | неопределенный. Следовательно возникает эта ошибка. Консультируйте эти данные перед их использованием.

...