使用HTML中的* ngfor指令解析JSON

时间:2016-12-25 11:15:49

标签: javascript json angular ionic2

我希望能够从此JSON对象中的 params 数组中获取并列出(不是), ionic2页面中的 * ngfor 指令。

{
 "id":"x",
 "name":"xxx",
 "code":"xxx",
 "description":"xxx",
 "params":
         [
          {"param1": "params1"},
          {"param2": "params2"},
          {"param3": "params3"}
         ]
}

我搜索了这个论坛,发现了一个使用管道的实现;但到目前为止我还没有成功。我能够使用管道获得的最多是数组索引,而不是

1 个答案:

答案 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,就像上面一样。