Ich habe zu graben um, und fand heraus, dass ich die folgenden verwenden kann * ngFor über ein Objekt zu verwenden:Wie Objektschlüssel mit * ngFor?
<div *ngFor="#obj of objs | ObjNgFor">...</div>
wo ObjNgFor
Rohr ist:
@Pipe({ name: 'ObjNgFor', pure: false })
export class ObjNgFor implements PipeTransform {
transform(value: any, args: any[] = null): any {
return Object.keys(value).map(key => value[key]);
}
}
jedoch, wenn ich ein Objekt wie folgt:
{
"propertyA":{
"description":"this is the propertyA",
"default":"sth"
},
"propertyB":{
"description":"this is the propertyB",
"default":"sth"
}
}
ich bin nicht ganz sicher, wie ich ‚propertyâ‘ extrahieren und ‚propertyB‘, so dass sie durch die zugänglich von * ngFor Rich ist e. Irgendwelche Ideen?
UPDATE
Was ich tun möchte, ist die folgende HTML zu präsentieren:
<div *ngFor="#obj of objs | ObjNgFor" class="parameters-container">
<div class="parameter-desc">
{{SOMETHING}}:{{obj.description}}
</div>
</div>
Wo etwas propertyA
und propertyB
gleich wäre (dies ist, wie das Objekt strukturiert ist). Also, das würde zu:
propertyA:this is the propertyA
propertyB:this is the propertyB
Gunter - Ich möchte Benutzer zeigen, entweder 'propertyâ' oder 'propertyB'. Also muss ich irgendwie die Leitung wechseln – uksz
Nicht sicher, was du damit meinst. Abhängig von welchen Kriterien möchten Sie das eine oder andere zeigen? –
Würde dies auch für verschachtelte Objekte funktionieren? – uksz