2016-05-12 5 views
0

jsonファイルにはいくつかの辞書が含まれています。それは次のようになります。私は、テーブルの異なる列にvariable_1, variable_2 and variable_3からデータを入れたい複数の辞書のキーと値をanglejsで繰り返します

{ 
    "variable_1": { 
    "1357840800": 74, 
    "1360519200": 71, 
    "1362938400": 83, 
    "1365616800": 74, 
    "1368208800": 78 
    }, 
    "name": "TITLE", 
    "variable_2": { 
    "1357840800": 25817, 
    "1360519200": 28585, 
    "1362938400": 26946, 
    "1365616800": 30034, 
    "1368208800": 23316 
    }, 
    "link": "title.html", 
    "variable_3": { 
    "1357840800": 1910483, 
    "1360519200": 2029593, 
    "1362938400": 2236587, 
    "1365616800": 2222556, 
    "1368208800": 1818661 
    } 
} 

。変数には同じ数の項目があり、その数は不明です(1,2,3,5,8など)。キーはすべての辞書で同じです。したがって、新しい<td>には別の辞書の値のみが含まれているはずです。

私は1つの辞書を通して反復するコードを書いたが、私は複数の辞書へのアプローチを見つけることができない。

これは、1つの辞書のための私のコードです。いくつかを処理するためにはどのように変更する必要がありますか?

<table class="table ng-cloak" ng-if='isActive' ng-repeat="item in data | filter:isActive"> 
    <thead> 
    <tr> 
     <th>#</th> 
     <th>Date</th> 
     <th>Value</th> 
    </tr> 
</thead> 
<tbody> 
    <tr ng-repeat='(key, val) in item.variable_1'> 
    <td>{{ $index }}</td> 
    <td>{{ 1000*key + 1 | date:'MM.yyyy'}}</td> 
    <td>{{ val | splitdivisions }}</td> 
    </tr> 
</tbody> 
</table> 

答えて

2

各ディレクトリ内のキーは、相互に関連している場合、あなたは、単に

<tr ng-repeat='(key, val) in item.variable_1'> 
<td>{{ $index }}</td> 
<td>{{ 1000*key + 1 | date:'MM.yyyy'}}</td> 
<td>{{ val | splitdivisions }}</td> 
<td>{{ item.variable_2[key] }}</td> 
<td>{{ item.variable_3[key] }}</td> 

+0

を参照してください、あなたの答えは右のようだ... – MarcoS

+0

Thxを、コードの自動完了はこのエディタでは機能しません:) –

0

あなたは(私はここでそれらを削除しました)あなたのフィルタを共有したい場合がありますことができます。

function MyCtrl($scope) { 
 
    $scope.data = { 
 
    "variable_1": { 
 
     "1357840800": 74, 
 
     "1360519200": 71, 
 
     "1362938400": 83, 
 
     "1365616800": 74, 
 
     "1368208800": 78 
 
    }, 
 
    //"name": "TITLE", 
 
    "variable_2": { 
 
     "1357840800": 25817, 
 
     "1360519200": 28585, 
 
     "1362938400": 26946, 
 
     "1365616800": 30034, 
 
     "1368208800": 23316 
 
    }, 
 
    //"link": "title.html", 
 
    "variable_3": { 
 
     "1357840800": 1910483, 
 
     "1360519200": 2029593, 
 
     "1362938400": 2236587, 
 
     "1365616800": 2222556, 
 
     "1368208800": 1818661 
 
    } 
 
    }; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app> 
 

 
<div ng-controller="MyCtrl"> 
 
    <table class="table" ng-repeat="(key, value) in data"> 
 
    <thead> 
 
     <tr> 
 
     <th>#</th> 
 
     <th>Date</th> 
 
     <th>Value</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr ng-repeat='(k, val) in value'> 
 
     <td>{{ $index }}</td> 
 
     <td>{{ 1000*k + 1 | date:'MM.yyyy'}}</td> 
 
     <td>{{ val }}</td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
</div> 
 
</div>

私は `そのデータを少し周りを果たしました...とカスタムフィルタを追加して、{{`} `と`}閉じるjsFiddle

関連する問題