Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 通过对象的循环_Loops_Angular_Ngfor - Fatal编程技术网

Loops 通过对象的循环

Loops 通过对象的循环,loops,angular,ngfor,Loops,Angular,Ngfor,我试图遍历一个对象。我尝试了以下方法: 管道: } } 在我的html中: <div *ngIf="details"> <li *ngFor=" let entry of details| keys"> {{entry.key}}, {{entry.value}} </li> {{entry.key},{{entry.value} 它很有效,但它显示了我的整个目标。 我只需要物体的某些键。 所以我可以这样做(这是一个包含数组的

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

管道:

} }

在我的html中:

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


{{entry.key},{{entry.value}

它很有效,但它显示了我的整个目标。 我只需要物体的某些键。 所以我可以这样做(这是一个包含数组的对象,如果它只是一个对象,那么这种方式不起作用):


{{movie.title}
{{movie.overview}

您需要实现过滤管道或向管道传递参数(所需的属性名称):

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

//或


for(让输入值){
如果(!Array.isArray(args)| | args.length==0 | | args.indexOf(key)>-1)
push({key:key,value:value[key]});
} 

{{entry.key},{{entry.value}


{{entry.value.yourDesiredKey}}
不起作用吗?我不明白你是否需要一些钥匙。。循环中的*ngIf=“entry.key==condition”不起作用吗?那不起作用:我得到一个错误,无法读取null的属性“title”。问题是ngFor正在我的整个对象中循环。我只需要展示某些部分。就像使用ngFor一样,您可以通过执行类似{entry.title}的操作来循环它的某些部分。它应该返回整个对象,因为您根本没有在管道逻辑中过滤数据。我尝试使用您的第一行,并使用了我能想到的每一个组合,但没有显示任何结果。如果我只想显示标题,我该怎么做?在{{}之间应该是什么。我不熟悉这一点,我无法用
args
将其排除在添加的示例之外,因为它不起作用。它将显示整个对象。Angular取出循环对象的ngfor是错误的。Angular实际上是正确的,您的
变换
签名不正确,应该是
公共变换(value:any,…args:any[]):any
我只是说取出它的原因不合法。这就是为什么他们正在为这样做而研制管道。我正在尝试你的建议。thnx
<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>