我希望能够从此JSON对象中的 params 数组中获取并列出键(不是值), ionic2页面中的 * ngfor 指令。
{
"id":"x",
"name":"xxx",
"code":"xxx",
"description":"xxx",
"params":
[
{"param1": "params1"},
{"param2": "params2"},
{"param3": "params3"}
]
}
我搜索了这个论坛,发现了一个使用管道的实现;但到目前为止我还没有成功。我能够使用管道获得的最多是数组索引,而不是键。
答案 0 :(得分:1)
import { PipeTransform , Pipe } from '@angular/core';
@Pipe( { name : 'keys' } )
export class KeysPipe implements PipeTransform {
transform ( value , args : string[] ) : any {
let keys = [];
for ( let key in value ) {
if ( value.hasOwnProperty( key ) ) {
keys.push( key );
}
}
return keys;
}
}
并像这样使用它:
<ul>
<li *ngFor="let item of obj.params ">
<span *ngFor="let key of item | keys ">{{key }}</span>
</li>
</ul>
以下是plunker
请注意,plunker正在使用#,你应该使用let,就像上面一样。