angularjs limitTo filter不使用奇数json数组

时间:2014-03-26 17:22:10

标签: json angularjs angularjs-ng-repeat

我有一个奇怪的json数组,我可以重复一遍,但我在使用limitTo过滤器限制此列表时遇到问题。我通过http调用获取了json对象,因此我无法改变对象在后端的形成方式。

HTML:

<div ng-controller="myCtrl">
    <div ng-repeat="school in schoolList | limitTo:2">
        {{school.school_name}}
    </div>
</div>

JSON:

{"0":{"school_name":"FAKE ELEMENTARY"},
 "1":{"school_name":"CENTRAL HIGH"},
 "2":{"school_name":"OAK RIDGE ELEMENTARY"},
 "3":{"school_name":"PINE MEADOW ELEMENTARY"},
 "4":{"school_name":"AMERICAN MIDDLE"},
 "5":{"school_name":"BIG SENIOR HIGH"},
 "6":{"school_name":"ST FRANCIS ELEMENTARY SCHOOL"}

以下是jsfiddle

我的第一个想法是,我可以某种方式使用$ index但到目前为止我还没有运气。任何帮助,将不胜感激。如果已经回答了这个问题,我会提前道歉,但是我一直在寻找几天而没有找到任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

从角度来源首先检查:

if (!isArray(input) && !isString(input)) return input;

因此您必须将该数据转换为数组,请参阅此处的工作小提琴:http://jsfiddle.net/Nu7rZ/103/

角度源链接:https://github.com/angular/angular.js/blob/master/src/ng/filter/limitTo.js#L3