orderBy在ng-repeat中不区分大小写

时间:2015-12-07 21:53:43

标签: angularjs angularjs-directive angularjs-ng-repeat

如何在ng-repeat子句中使用过滤器orderBy对数据进行排序,而不管大小写(不区分大小写)?我是否需要编写自定义函数来执行此操作?若有,请问有什么例子吗?感谢。

3 个答案:

答案 0 :(得分:4)

不区分大小写。有关其默认比较器,请参阅docs

  

对于大多数人来说,默认的内置比较器应该足够了   用例。简而言之,它在数字上比较数字,字符串   字母顺序(和不区分大小写),对象可以回归到   在原始集合中使用它们的索引,并对值进行排序   不同类型的类型。

答案 1 :(得分:3)

不幸的是,没有"忽略这个案例"参数。您必须构建自己的排序方法。在下面的示例中,我需要按" display_name"排序用户列表,不区分大小写。我将所有显示的名称转换为控制器中的小写字符串。

这是我在控制器中的内容:

$scope.sortingFn = function( user ) {
    return user.display_name.toLowerCase();
}

在视图中:

ng-repeat="user in users | orderby:sortingFn"

答案 2 :(得分:0)

你可以简单地按你想要的任何键排序,如果它们是基元,则嵌套对象的顺序会更复杂

这里的angularjs example

ng-repeat="friend in friends | orderBy:'-age'"