2017-10-09 20 views
0

私はオブジェクトの値の配列を持っています。タイプによって値をグループ化する方法でグループを使用しています。配列値のオブジェクトを与えます.i表示方法に苦労します。角度2でNgforを使用する値。Ngforを使用して角度2の配列値のDispalyオブジェクト

私は以下の構造値を持っています。

{ 
     [ 
     { 
      id:1 
      body:"value1" 
      type:"name" 
     }, 
     { 
      id:2 
      body:"value1" 
      type:"id" 
     } 
     ], 
     [ 
     { 
      id:3 
      body:"value1" 
      type:"name" 
     }, 
     { 
      id:4 
      body:"value1" 
      type:"id" 
     }, 
     { 
      id:5 
      body:"value1" 
      type:"name" 
     } 
     ], 
     [ 
     { 
      id:6 
      body:"value1" 
      type:"id" 
     }, 
     { 
      id:7 
      body:"value1" 
      type:"fname" 
     }, 
     { 
      id:8 
      body:"value1" 
      type:"fname" 
     } 
     ] 
    } 

私のHTMLコードはです。

<div *ngFor="let value of result"> 
{{value.body}} 
</div> 
+1

あなたJSONはあなたが上oprateするために、同じJSONデータを持っていることを確認している、無効であると思われるのですか? – jitender

+0

確かに、私は同じjson形式のグループを取得しています。 – Sakthivel

+0

@Sakthivel、console.log(your_strange_value)できますか? あなたの質問は、 "それから有効なJSONを受け取る方法"でなければならないと信じています。 – 2oppin

答えて

0

ngForのみArray要素に取り組んでいます。また、あなたの現在のJSONは無効と思われます。あなたは簡単に単一の配列に配列を平らにし、何を持っていることはそれもJSONではありません、オブジェクトの配列ではありませんDOM

<div *ngFor="let value of flattenArray"> 
    {{value.body}} 
</div> 

コンポーネント

flattenArray = []; 
//after retrieving result, create flatten array. 
for(let value of result){ 
    this.flattenArray.conact(value); 
} 
0

でそれをレンダリングするngForを使用することができますが(!とofcourseの、昏睡を追加):

[ 
    [ 
    { 
     id:1, 
     body:"value1", 
     type:"name" 
    }, 
    { 
     id:2, 
     body:"value1", 
     type:"id" 
    } 
    ], 
    [ 
    { 
     id:3, 
     body:"value1", 
     type:"name" 
    }, 
    { 
     id:4, 
     body:"value1", 
     type:"id" 
    }, 
    { 
     id:5, 
     body:"value1", 
     type:"name" 
    } 
    ] 
、 あなたが最初に置き換えたときに、{} []、とする( https://jsonlint.com/でそれを確認してください)すべての意志が有効なJSONあり、ここで、正常に動作します

]

、その後、角度ビュー:

<div *ngFor="let items of result"> 
    <div *ngFor="let value of items"> 
     {{value.body}} 
     </div> 
</div> 
+0

私は値をグループ化する方法でグループを使用します。 – Sakthivel

+0

が気になって見ました。あなたもプロパティリストには昏睡がない))) あなたは文字列としてあなたの価値を持っていると思いますか?あなたは間違いなくJSで割り当てることができないので – 2oppin

0

みんなのresponse.iのおかげで、質問のためのソリューションを得ました。

let value = _.groupBy(data, "type"); 
    for (let key in value) { 
     content.push({ key: key, value: value[key] }); 
    } 

と私のHTMLは

<div *ngFor="let keys of content"> 
    <div *ngFor="let value of keys.value"> 
     {{value.body}} 
    </div> 
</div> 
関連する問題