我有一个看起来像这样的对象:
{
"03" : "Apple",
"02" : "Banana",
"01" : "Cranberry"
}
它在我的ng-repeat中通过键(有意义)命令它。这导致标签不符合字母顺序(“蔓越莓”是第一个)。如何使它按顺序(按字母顺序)命令我的转发器?
我可以按照我想要的ng-repeat顺序提供它,但它按键排序。如果我能够不这样做,那么这也可以。
答案 0 :(得分:28)
要在ngRepeat中对数组进行排序,您可以使用orderBy filter,但它仅适用于数组,因此您应该在ngRepeat中使用数组。
在控制器中会是这样的:
$scope.myData = [
{
key: "01",
value: "Cranberry"
},
{
key: "02",
value: "Banana"
},
{
key: "03",
value: "Apple"
}
];
并在html中:
<div class="item" ng-repeat="item in myData|orderBy:'value'">{{item.value}}</div>