AngularJS orderBy具有命名元素

时间:2015-07-07 13:37:57

标签: angularjs angularjs-ng-repeat

所以,我有一个名为frutas的JSON,如下所示。 AngularJS通过水果名称自动订购,但我需要按“订单”排序。 当我尝试订购时:

ng-repeat="fruta in frutas | orderBy:'order'" 

我没有结果。为什么?我该如何解决这个问题?

{
cacau: {cod: 2244, order: 3},
abacaxi: {cod: 18967, order: 2},
bacuri: {cod: 124, order: 1},
}

1 个答案:

答案 0 :(得分:1)

orderBy期望一个数组可以运行。 https://docs.angularjs.org/api/ng/filter/orderBy

如果

{
   cacau: {cod: 2244, order: 3},
   abacaxi: {cod: 18967, order: 2},
   bacuri: {cod: 124, order: 1},
}

frutas包含的内容,这就是orderBy无效的原因。请以这种方式修改数据为数组,因为此刻是一个对象。

您可以测试数据是否为数组 Array.isArray()方法。