iteración de un objeto json en Ngfor en angular 2
observable (1)
Su objeto de
people
no es una matriz, por lo que puede iterar sobre él fuera de la caja.
Hay dos opciones:
-
Desea iterar sobre una propiedad secundaria. Por ejemplo:
<ul> <li *ngFor="#person of people?.actionList?.list"> {{ person.label }} </li> </ul>
-
Desea iterar sobre las claves de su objeto. En este caso, debe implementar una tubería personalizada:
@Pipe({name: ''keys''}) export class KeysPipe implements PipeTransform { transform(value, args:string[]) : any { if (!value) { return value; } let keys = []; for (let key in value) { keys.push({key: key, value: value[key]}); } return keys; } }
y úsalo de esta manera:
<ul> <li *ngFor="#person of people | keys"> {{ person.value.xx }} </li> </ul>
Vea esta respuesta para más detalles:
Tengo problemas para iterar un objeto json en el Ngfor, ahí está mi plantilla:
modelo:
<h1>Hey</h1>
<div>{{ people| json}}</div>
<h1>***************************</h1>
<ul>
<li *ngFor="#person of people">
{{
person.label
}}
</li>
</ul>
people es el objeto json que intento iterar, obtengo el resultado de (people | json) y no obtengo la lista, aquí hay una captura de pantalla:
y para terminar, aquí hay una parte del archivo json:
{
"actionList": {
"count": 35,
"list": [
{
"Action": {
"label": "A1",
"HTTPMethod": "POST",
"actionType": "indexation",
"status": "active",
"description": "Ajout d''une transcription dans le lac de données",
"resourcePattern": "transcriptions/",
"parameters": [
{
"Parameter": {
"label": "",
"description": "Flux JSON à indexer",
"identifier": "2",
"parameterType": "body",
"dataType": "json",
"requestType": "Action",
"processParameter": {
"label": "",
"description": "Flux JSON à indexer",
"identifier": "4",
"parameterType": "body",
"dataType": "json",
"requestType": "Process"
}
}
},
por favor siéntase libre de ayudarme