Я копался и обнаружил, что могу использовать следующее, чтобы использовать *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"
}
}
Я не совсем уверен, как я могу извлечь «свойство A» и «свойство B», чтобы оно было доступно из директивы * 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