ngFor 遍历对象

ngFor loop through Object

我试图遍历一个对象。我尝试了以下方法:

管道:

@Pipe({name: 'keys'})
export class KeysPipe implements PipeTransform {
  transform(value, args:string[]) : any {
    if (!value) {
      return value;
    } 

let keys = [];
for (let key in value) {
  keys.push({key: key, value: value[key]});
} 
return keys;

} }

在我的 html:

<div *ngIf="details">
<li *ngFor=" let entry of details| keys">           
{{entry.key}},  {{entry.value}}
</li>

它的工作原理,但它显示了我的整个对象。 我只需要对象的某些键。 所以我可以做这样的事情(这是一个里面有数组的对象,如果它只是一个对象,这种方法是行不通的):

<button ion-item *ngFor="let movie of movies?.results" (click)="goToDetails(movie.id)">
  <h2>{{movie.title}}</h2>
{{movie.overview}}
</button>

您需要实施过滤器管道或将参数(所需的 属性 名称)传递给您的管道:

<li *ngFor=" let entry of details| keys:'name', 'value'">
//or
<li *ngFor=" let entry of details| keys | filter">

for (let key in value) {
  if(!Array.isArray(args) || args.length === 0 || args.indexOf(key) > -1)
  keys.push({key: key, value: value[key]});
} 

<li *ngFor=" let entry of details| keys:'name'">           
{{entry.key}},  {{entry.value}}
</li>