如何停止ng-repeat重新排序数组中的项目

时间:2016-02-26 09:35:35

标签: angularjs angularjs-ng-repeat ng-repeat predicate

我有一个对象数组,我正在使用ng-repeat进行迭代。

这是我的模特

var myArray =[{$$hashKey: "object:2",name:"A"},{$$hashKey: "object:1",name:"B"}]

这是我的html标记。我还有一个orderby,如下所示,predicate为空字符串""

<div ng-repeat="ob in myArray | orderBy:predicate:reverse">{{ob.name}}</div>

我希望它按照A,B的顺序显示名称。

但它实际上将hashkey的顺序呈现为B,A。我怎样才能避免这种情况?

2 个答案:

答案 0 :(得分:0)

按指数重复订单。总是。你这里做错了什么;) 如果我使用你的代码,它会按预期显示A,B。 除非你使用一些完全古老的角度版本(你正在使用哪一个?),否则你在其他地方做错了。请发布更多代码。

答案 1 :(得分:0)

我想我理解你的问题。

它没有以hashkey的顺序显示。它只是以接收它的相同顺序转储数据。

您的问题是predicate您的对象中没有名为谓词的属性。因此,您的条件"ob in myArray | orderBy:predicate:reverse"不是按名称排序。

要按名称订购,您必须使用

"ob in myArray | orderBy:'name'"