如何在角度模板中迭代字典?

Kri*_*nan 2 dictionary angular2-template angular

在我们的角度应用程序中,我从控制器返回了一个字典。如何使用* ngFor在html模板中显示相同内容?

请任何人帮助实现相同

Fre*_*ing 8

您可以像这样使用内置键值管道:

<span *ngFor="let item of content | keyvalue">           
  Key: {{item.key}}, Value: {{item.value}}
</span>
Run Code Online (Sandbox Code Playgroud)

  • 我比投票的答案更喜欢这个答案,因为它使用内置功能+1 (2认同)

小智 5

您可以创建一个将对象(字典)映射到包含type的数组的管道: { key: string,value: any }

像这样的东西:

@Pipe({name: 'mapToArray'})
export class MapToArray implements PipeTransform {
  transform(value, args:string[]) : any {
    let arr = [];
    for (let key in value) {
      arr.push({key: key, value: value[key]});
    }
    return arr;
  }
}
Run Code Online (Sandbox Code Playgroud)

并像在html文件中那样使用它:

<span *ngFor="let item of content | mapToArray">           
  Key: {{item.key}}, Value: {{item.value}}
</span>
Run Code Online (Sandbox Code Playgroud)