当前位置: 首页 > 面试题库 >

Angular ng-repeat中的orderBy数组项值

丁恩
2023-03-14
问题内容

我如何获得Angular的ng-repeat指令以按每个项目的实际值而不是按每个项目的属性值对列表进行排序?

例如:

<ul>
    <li ng-repeat="item in items | orderBy:'WHAT_GOES_HERE??'">{{item}}</li>
</ul>

这是一个玩弄的小提琴:http :
//jsbin.com/okatur/1/edit

我意识到我可以.sort()在阵列上做,但这是我唯一的选择吗?


问题答案:

从1.3.0-rc.5开始

从AngularJS
1.3.0-rc.5开始
,如果未提供其他参数,则orderBy过滤器(请参阅文档)将使用其项目自动对数组进行排序。

<li ng-repeat="item in items | orderBy">{{item}}</li>

[JS Bin](http://jsbin.com/okatur/59/edit)

1.3.0-rc.5之前

所述orderBy过滤器(见历史文档)还可以采取一个函数作为第二个参数,其返回值为将使用进行比较<=>操作者。为此,您可以简单地使用angular.identity(请参阅文档):

$scope.identity = angular.identity;



<li ng-repeat="item in items | orderBy:identity">{{item}}</li>

[JS Bin](http://jsbin.com/okatur/6/edit)



 类似资料:
  • 问题内容: 我正在尝试将AngularJS用于我的第一个项目(锦标赛经理),并且筛选器不起作用:(我已阅读了有关该文档的所有文档,但无济于事:/ 所以,我在上面定义了vars : 现在,在我看来,我正在尝试重新排序(首先只有一个订单项),但是再也无法工作… 第二次,我要重新排序,从2条信息:和如果第一是平等的。我尝试更换这样的,但如果一个代码没有工作,他绝不会与2工作… 谢谢大家的阅读,对于帖子的

  • 本文向大家介绍angular ng-repeat数组中的数组实例,包括了angular ng-repeat数组中的数组实例的使用技巧和注意事项,需要的朋友参考一下 //先定义一个数组 anular代码: html 代码: track by $index  在有重复值时需加上这段代码 不然浏览器会报这个错 Error: [ngRepeat:dupes]并且不会渲染到页面 以上这篇angular ng

  • 问题内容: 我有这样的对象: 假设学生对象被改组。我使用ng-repeat来显示数据。我想按自定义顺序对对象进行排序。 例如,我想显示如下数据: 所以基本上,我想按学生的班级排序,但是首先是B_Class,然后是A_Class,然后是C_Class。另外,我想按学生姓名的字母顺序排序。我怎样才能做到这一点? HTML: 控制器: 问题答案: 嗨,您可以创建自定义排序过滤器,请参见此处http://

  • 问题内容: 我正在尝试使用条件将项目分组为ng-repeat。 一个示例条件是将所有元素分组为同一小时。 数据: “时间”字段实际上是一个时间戳记(1399372207),但是使用准确的时间,示例输出将更易于理解。 我正在使用ng-repeat列出这些项目: 还尝试了: 有效输出为: 如果没有针对我的问题的简单解决方案,我的最后选择是将数据分组,然后将其分配给ng-repeat中使用的作用域变量。

  • 返回按属性(props)和顺序(orders)排序的对象数组。 在默认值为 0 的 props 数组上使用 Array.sort(),Array.reduce(),根据传递的顺序使用数组解构来交换属性位置。 如果没有传递 orders 数组,那么默认情况下它会按 'asc' 排序(升序) 。 const orderBy = (arr, props, orders) => [...arr].so

  • 我有一个名为的数组。它包含一系列对象,每个对象都包含一个名为的属性。我想在数组中的每个对象上重复该数组的内容。 如果我重复通过它在单个数组上运行良好。 但是,我想继续重复,就像这样: 等等。 我的(不正确)解决方案当前看起来如下: 在这种情况下,我假设$index将代表递增的整数,但它不起作用。有人能帮忙吗? 提前感谢...