javascript - pasar - recorrer array angular 4
Cómo iterar a través de los atributos de un objeto en Angular 2 (2)
Podrías hacer algo como esto:
<li *ngFor="let o of obj">
<p *ngFor="let objArrayElement of generateArray(o)"> {{objArrayElement}} </p>
</li>
donde se ve generateArray
:
generateArray(obj){
return Object.keys(obj).map((key)=>{ return obj[key]});
}
Este es mi objeto (tiene n cantidad de teclas dinámicas. Solo he mostrado dos en el ejemplo a continuación)
let obj = {
abc:["some text", "some more text"],
xyz:["more text", "what do you think?", "I''m tired now"]
}
Aquí está mi intento de hacer un ciclo de lanzar el anterior e imprimir todos los valores
<div *ngFor=''let item of obj ; let i = index;''>
<p *ngFor="let value of obj.i">{{value}}
</div>
Pero lo anterior no parece funcionar. ¿Qué estoy haciendo mal y cuál es la sintaxis correcta?
ligera modificación de la respuesta de @ eg16 y funcionó como un encanto para mí -
la función generateArray se ve así:
generateArray(obj){
return Object.keys(obj).map((key)=>{ return {key:key, value:obj[key]}});
}
y la plantilla -
<li *ngFor="let item of generateArray(data)">{{item.key}}: {{item.value}}</li>