如何在angular 4中使用*ngFor循环多维对象

如何在angular 4中使用*ngFor循环多维对象,angular,Angular,我尝试在html中使用*ngFor循环该对象 <tr *ngFor="let artikel of artikels"> </tr> 但这给了我一个错误 有人能帮我怎么循环这个物体吗 我也是新手。。谢谢 不能使用*ngFor对对象进行迭代,因为错误是需要使用类似数组的数据结构 最好的解决方案是将管道与*NGO一起使用,以便将对象转换为数组 尝试将此管道添加到util的模块: @Pipe({name: 'objectToArray'}) export class obj

我尝试在html中使用*ngFor循环该对象

<tr *ngFor="let artikel of artikels">

</tr>
但这给了我一个错误

有人能帮我怎么循环这个物体吗


我也是新手。。谢谢

不能使用*ngFor对对象进行迭代,因为错误是需要使用类似数组的数据结构

最好的解决方案是将管道与*NGO一起使用,以便将对象转换为数组

尝试将此管道添加到util的模块:

@Pipe({name: 'objectToArray'})
export class objectToArray implements PipeTransform {
  transform(value, args:string[]) : any {
    let keys = [];
    for (let key in value) {
      keys.push(key);
    }
    return keys;
  }
将管道导入模块并与*ngFor一起使用

<tr *ngFor="let articleKey of article|objectToArray">

</tr>
现在,您可以使用“articleKey”并使用它在嵌套数组上循环:

<tr *ngFor="let articleKey of article|objectToArray">
   <td *ngFor="let article of article[articleKey]">
       <!--your template-->
   </td>
</tr>

您可以发布对象的示例代码吗?您不能使用带有*ngFor的对象进行循环*ngFor只允许阵列!它应该是不纯净的管道,就像json切片管道一样。如果对象属性发生更改,例如添加新属性或删除。然后它也应该在html中更新。看看