我一直在挖掘,发现我可以使用以下内容在对象上使用 *ngFor:
<div *ngFor="#obj of objs | ObjNgFor">...</div>
ObjNgFor
管道在哪里:
@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]);
}
}
但是,当我有这样的对象时:
{
"propertyA":{
"description":"this is the propertyA",
"default":"sth"
},
"propertyB":{
"description":"this is the propertyB",
"default":"sth"
}
}
我不太确定如何提取“propertyA”和“propertyB”,以便可以从 *ngFor 指令访问它。有任何想法吗?
更新
我想要做的是呈现以下 HTML:
<div *ngFor="#obj of objs | ObjNgFor" class="parameters-container">
<div class="parameter-desc">
{{SOMETHING}}:{{obj.description}}
</div>
</div>
什么地方等于propertyA
和propertyB
(这就是对象的结构)。因此,这将导致:
propertyA:this is the propertyA
propertyB:this is the propertyB