Angular 按键排序 ng-repeat
Angular order by key ng-repeat
我有下一张地图:
{
1: [
"John": 123,
"Doe": 234
],
2: [
"John": 456,
"Doe": 345
]
//and so on...
}
我必须使用按索引排序的 ng-repeat 显示它们,然后使用按值排序的内部 ng-repeat 显示它们:
- 2
- Doe 234
- John 123
- 1
- John 456
- Doe 345
我试图找到解决方案,但没有找到任何答案。
按键点餐更方便
<div ng-repeat="item in pairs(obj) | orderBy:first:true"> Key: {{ item[0] }}; Value: {{item[1]}}</div>
在您的情况下,它可能如下所示:
HTML:
<ul ng-repeat="obj in pairs(data) | orderBy:first:true">
<li>{{ obj[0] }}</li>
<ul ng-repeat="item in pairs(obj[1]) | orderBy:last:true">
<li> {{ item[0] }} {{item[1]}}</li>
</ul>
</ul>
JS:
$scope.data = {
1:{
'John':123,
'Doe':234
},
2:{
'John':456,
'Doe':345
}};
见working Plunker with your case
要颠倒顺序只需将 orderBy:first:true
更改为 orderBy:first:false
。
我有下一张地图:
{
1: [
"John": 123,
"Doe": 234
],
2: [
"John": 456,
"Doe": 345
]
//and so on...
}
我必须使用按索引排序的 ng-repeat 显示它们,然后使用按值排序的内部 ng-repeat 显示它们:
- 2
- Doe 234
- John 123
- 1
- John 456
- Doe 345
我试图找到解决方案,但没有找到任何答案。
<div ng-repeat="item in pairs(obj) | orderBy:first:true"> Key: {{ item[0] }}; Value: {{item[1]}}</div>
在您的情况下,它可能如下所示:
HTML:
<ul ng-repeat="obj in pairs(data) | orderBy:first:true">
<li>{{ obj[0] }}</li>
<ul ng-repeat="item in pairs(obj[1]) | orderBy:last:true">
<li> {{ item[0] }} {{item[1]}}</li>
</ul>
</ul>
JS:
$scope.data = {
1:{
'John':123,
'Doe':234
},
2:{
'John':456,
'Doe':345
}};
见working Plunker with your case
要颠倒顺序只需将 orderBy:first:true
更改为 orderBy:first:false
。