JavaScript - Angular ngFor error Error trying to diff '[object Object]'. Only arrays and iterables are allowed

 
Vista:
Imágen de perfil de Alice in
Val: 1
Ha disminuido su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Angular ngFor error Error trying to diff '[object Object]'. Only arrays and iterables are allowed

Publicado por Alice in (31 intervenciones) el 03/09/2018 19:42:47
Hola, Tengo una gran duda. Estoy haciendo un curso, pero como es gratis no me ayudan mucho. Y tengo este error
error


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { InfoPagina } from '../interfaces/info-pagina.intrface';
 
 
@Injectable({
providedIn: 'root'
})
 
export class InfoPaginaService {
  info: InfoPagina = {};
  cargada = false;
  equipo: any[] = [];
 
constructor( private http: HttpClient ) {
this.cargarInfo();
this.cargarEquipo();
}
 
 
private cargarInfo () {
 // console.log('Si sirve');
 // Leer Json
  this.http.get('assets/data/data-pagina.json')
	.subscribe( (resp: InfoPagina) => {
	  this.cargada = true;
	  this.info = resp;
	  // console.log(resp);
	});
}//método
 
Supuestamente el error stá aquí. Que el ngFor no me lee el objeto, o tiene que ser un arreglo
private cargarEquipo () {
  // Leer Json
	this.http.get('aquiVa.json')
  .subscribe( (resp: any[]) => {
    this.equipo = resp;
    console.log(resp);
 
  });
}
 
}

1
<div *ngFor="let persona of infoService.equipo" Este es el html </div>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 8
Ha disminuido su posición en 10 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Angular ngFor error Error trying to diff '[object Object]'. Only arrays and iterables are allowed

Publicado por José Manuel (3 intervenciones) el 02/10/2018 09:31:36
Buenos días:

1- En tu componente crea la siguiente función:
1
2
3
4
5
objectKeys (objeto: any) {
   const keys = Object.keys(objeto);
   console.log(keys); // echa un vistazo por consola para que veas lo que hace "Object.keys"
   return keys;
}

2- Cambia el html:
1
<div *ngFor="let persona of objectKeys(infoService.equipo)"> Este es el html </div>


No puedes iterar un objecto con *ngFor, tiene que ser un vector. Así que lo que hacemos es crear un vector con las claves del JSON.

Un saludo y suerte con ese curso ;).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Angular ngFor error Error trying to diff '[object Object]'. Only arrays and iterables are allowed

Publicado por yefferson Mujica (1 intervención) el 14/04/2020 15:40:58
buenas como estan ? este objetkey, que funcion tiene? estoy tratando de entenderlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Angular ngFor error Error trying to diff '[object Object]'. Only arrays and iterables are allowed

Publicado por Jorge (1 intervención) el 20/08/2020 01:28:12
Esta mal tu ruta

1
2
3
4
5
6
7
8
9
private cargarEquipo(){
    this.http.get('https://.firebaseio.com/equipo.json')   <----Asegurate de poner equipo.json para que funcione
    .subscribe((resp: any [])=>{
 
      this.equipo = resp;
      console.log(resp);
 
    })
  }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar