Json 如何在我不知道的对象数组中执行*ngFor';我不知道财产的名称?
我有一个名为Json 如何在我不知道的对象数组中执行*ngFor';我不知道财产的名称?,json,angular,typescript,ngfor,Json,Angular,Typescript,Ngfor,我有一个名为dadosRelatorio的数组,我需要在我的模板中迭代它,这个数组是我在http请求中得到的: [{"id": 1, "name": "a", "class":[{ "Inglês":[{ "id": 1, "code": "teste" }, { "id": 2, "code": "teste 2" }], "Espanhol":[{ "id
dadosRelatorio
的数组,我需要在我的模板中迭代它,这个数组是我在http请求中得到的:
[{"id": 1,
"name": "a",
"class":[{
"Inglês":[{
"id": 1,
"code": "teste"
},
{
"id": 2,
"code": "teste 2"
}],
"Espanhol":[{
"id": 1,
"code": "a"
}]
}]
}]
如果类中的对象具有不同的属性名称,如何迭代它们?有时名字可以是“英格尔”,有时可以是“西班牙人”和其他名字
当我知道财产的名称时,我会这样做:
<div *ngFor="let aluno of dadosRelatorio" class="div-aluno">
<span>Aluno: {{ aluno.name }}</span>
<div *ngFor="let classe of aluno.class">
<div *ngFor="let idioma of classe. ???>
</div>
</div>
</div>
Aluno:{{Aluno.name}
您可以使用object.keys
枚举对象键。
看
编辑:您还可以使用keyvalue管道,如官方文档中所述:
我还以为有ngForIn指令,但我找不到该文档。您可以使用keyvalue
管道进行迭代,如下所示:
<div *ngFor="let aluno of dadosRelatorio" class="div-aluno">
<span>Aluno: {{ aluno.name }}</span>
<div *ngFor="let classe of aluno.class | keyvalue">
<div> {{classe.key}}</div>
<div *ngFor="let type of classe.value | keyvalue">
{{type.key}}
<div *ngFor="let data of type.value | keyvalue">
{{data.value.id }}
{{data.value.code }}
</div>
</div>
</div>
</div>
Aluno:{{Aluno.name}
{{classe.key}
{{type.key}}
{{data.value.id}
{{data.value.code}
我尝试使用pipe keyvalue:但得到的结果是:找不到类型为“object”的不同支持对象“[object object]”。NgFor只支持绑定到数组等可重用对象。angular 8和您的示例对象在这里工作得很好,我得到的结果是:Inglês(classe.key)0(type.key),但id和代码中的te type.value为EmptyShems才能工作。你能检查一下吗?我想我的实际数组有点不同,但我认为我得到了正确的结果:{{classe.key}}{{type.key}}{{type.value.code}