2013-09-24 2 views
1

Массивмассив данных ссылка на основе одних и тех же ключей

[ 
    code: 'code', 
    specName: [ 
       0: 'First', 
       1: 'Second', 
       2: 'Third' 
      ], 
    year: [ 
       0: '2011', 
       1: '2012', 
       2: '2013' 
      ] 
]; 

В Лоудаун

Я использую AngularJS для вывода данных, используя ng-repeat="name in module.specName". То, что я хотел бы сделать, это ссылка year[0] с specName[0] и так далее. Так что мой вывод будет выглядеть следующим образом:

------------------- 
| specName | year | 
------------------- 
| First | 2011 | 
------------------- 
| Second | 2012 | 
------------------- 
| Third | 2013 | 
------------------- 

Вопрос

Могу ли я быть в правильном направлении, как я мог бы идти о достижении этой цели. Есть ли угловой .filter, который я должен написать, или некоторые реструктуризации данных в угловом приложении или что-то в этом роде.

ответ

3
<div ng-repeat="(key,value) in data.specName"> 
    <span>{{value}}</span> 
    <span>{{data.year[key]}}</span>   
</div> 

JS:

$scope.data={ 
    code: 'code', 
    specName: { 
     0: 'First', 
     1: 'Second', 
     2: 'Third' 
    }, 
    year: { 
     0: '2011', 
     1: '2012', 
     2: '2013' 
    } 
}; 
+0

ах спасибо! не знал о (ключ, значение) спаривания в ng-repeat – ashley

2

Если вы можете реструктурировать свои данные, как это:

$scope.data = { 
    code: 'code', 
    specs: [ 
    {name: 'First', year:2011 }, 
    {name: 'Second', year:2012 }, 
    {name: 'Third', year:2013 } 
    ] 
}; 

Таким образом, вы будете иметь возможность отобразить его очень легко:

<table> 
    <tr ng-repeat="spec in data.specs"> 
     <td>{{spec.name}}</td> 
     <td>{{spec.year}}</td> 
     </tr> 
</table> 

Рабочий пример: http://plnkr.co/edit/Ka8jM8?p=preview

Смежные вопросы