【发布时间】:2015-01-11 10:23:44
【问题描述】:
我有一个这样的 JSON:
"db" : {
"x" : {
"0" : "A",
"1" : "B",
"2" : "C",
"3" : "D",
"4" : "E",
"5" : "F",
"6" : "G",
"7" : "H",
"8" : "I",
"9" : "J",
"10" : "K",
"11" : "L",
"12" : "M",
"13" : "N"
}
在我的控制器中:
$scope.object = currentObject.get();
$scope.x = $scope.object.db.x;
(currentObject.get() 是我从数据库中获取数据的函数,在数据库中有我之前编写的 JSON)
在视图中:
<div ng-repeat="y in x">{{y}}</div>
我希望结果是这样的:
<div>A</div>
<div>B</div>
<div>C</div>
etc. etc.
相反,我看到的是:
<div>A</div>
<div>K</div>
<div>L</div>
<div>M</div>
<div>N</div>
<div>B</div>
etc. etc.
如何在 ng-repeat 中使用 orderBy 解决这个问题?
【问题讨论】:
-
无法在 javascript 中订购对象。改用数组
-
那么,我是否要创建一个与 JSON 对象具有相同组件的数组?真的没有别的办法了吗?
-
但是我尝试使用数组并且它有效。目前,谢谢你:)
-
您可以在收到后将其映射到数组,但大多数数据集都以数组形式出现,而 Angular 最适合使用数组
-
为什么你不将
x设为一个数组,因为它的属性都具有数字键名且没有跳过的值?
标签: javascript json angularjs