Angular 10 как я могу это решить: ошибка при попытке diff ‘[object Object]’. Разрешены только массивы и итерации в

#html #angular #rest #http #get

#HTML #angular #rest #http #получить

Вопрос:

Привет всем, у меня проблема, я не могу выполнить итерацию ответа от http-запроса

users-list-interface.ts

 export interface Corporativo {
            id?:                   number,
            S_NombreCorto?:        string,
            S_NombreCompleto?:     string,
            S_LogoURL?:            string,
            S_DBName?:             string,
            S_DBUsuario?:          string,
            S_SystemUrl?:          string,
            S_Activo?:             number,
            D_FechaIncorporacion?: string,
            created_at?:           string,
            updated_at?:           string,
            tw_users_id?:          number,
            FK_Asignado_id?:       number,
            user_created?:         
                {
                    id?:                 number;
                    username?:           string;
                    email?:              string;
                    S_Nombre?:           string;
                    S_Apellidos?:        string;
                    S_FotoPerfilURL?:    string;
                    S_Activo?:           number;
                    verification_token?: string;
                    verified?:           string;
                    tw_role_id?:         number;
                    created_at?:         string;
                    updated_at?:         string;
                    deleted_at?:         null;
                },
            
            asignado?:            
                {
                    id?:                 number;
                    username?:           string;
                    email?:              string;
                    S_Nombre?:           string;
                    S_Apellidos?:        string;
                    S_FotoPerfilURL?:    string;
                    S_Activo?:           number;
                    verification_token?: string;
                    verified?:           string;
                    tw_role_id?:         number;
                    created_at?:         string;
                    updated_at?:         string;
                    deleted_at?:         null;
                }
            

}
  

вот мой запрос на corporative-service.ts

 import { Injectable } from '@angular/core';
import { environment } from '../../../environments/environment'
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs'
import { Corporativo } from '../../user-list/users-list.interface';

@Injectable({
  providedIn: 'root'
})
export class CorporativeService {

  url = environment.apiURL
  auth_token = 'Bearer '   localStorage.getItem('tokenscloud');

  httpHeaders: HttpHeaders = new HttpHeaders({
    'Content-Type': 'application/json',
    Authorization: this.auth_token
  });

  constructor(private httpClient: HttpClient) { }

  getAllCorporatives(): Observable<Corporativo []> {
   return  this.httpClient.get<Corporativo []>(this.url   '/corporativos', { headers:this.httpHeaders })
  }
  

вот мой компонент списка пользователей

   rows : Corporativo [] = []

  
  constructor(private corporativeService: CorporativeService) {
    }
  ngOnInit(): void {
    this.getData();
  }

  getData() {
    this.corporativeService.getAllCorporatives()
      .subscribe(( response:Corporativo []) => {
        console.log(this.rows);
        this.rows = response
        
      })
  }


}
  

И в html я хочу сделать что-то вроде этого

   <div class="col-12 col-sm-6 col-lg-3" *ngIf="rows">
      <label for="users-list-status">Status</label>
      <fieldset class="form-group">
        <select id="users-list-status" class="form-control" disabled="true" >
          <option value="" *ngFor="let corp of rows">{{corp.S_NombreCorto}}</option>
        </select>
      </fieldset>
    </div>
  

деталь в том, что я получаю эту ошибку, но я не понимаю почему, я должен был получить массив с объектами, но я не могу понять, пожалуйста, если кто-нибудь может помочь, я буду очень благодарен

Комментарии:

1. Можете ли вы также опубликовать образцы данных?

2. Только массивы являются итеративными, поэтому вы получаете null или объект (peharfs в одном свойстве объекта — это искомый массив)

3. Я думаю this.rows , что это не массив, это объект, который не может быть итерирован, можете ли вы поделиться результатами console.log(this.rows)