我正在通过使用ng-options填充下拉列表,该选项挂钩到控制器,控制器又调用服务.不幸的是,进入的数据很乱,我需要能够按字母顺序对其进行排序.
你认为这样的事情$.sortBy会发生,但不幸的是它没有做杰克.我知道我可以通过javascript使用辅助方法function asc(a,b)或类似的东西对它进行排序但是我拒绝相信没有更简洁的方法来做这个加上我不想用辅助方法膨胀控制器.它原则上是如此基本,所以我不明白为什么AngularJS没有这个.
有办法做某事$orderBy('asc')吗?
例:
<select ng-option="items in item.$orderBy('asc')"></select>
Run Code Online (Sandbox Code Playgroud)
拥有选项非常有用,orderBy这样您就可以随时尝试对数据进行排序.
Glo*_*opy 340
Angular有一个orderBy过滤器,可以像这样使用:
<select ng-model="selected" ng-options="f.name for f in friends | orderBy:'name'"></select>
Run Code Online (Sandbox Code Playgroud)
看一下这个小提琴的例子.
值得注意的是,如果track by正在使用它,它需要出现在orderBy过滤器之后,如下所示:
<select ng-model="selected" ng-options="f.name for f in friends | orderBy:'name' track by f.id"></select>
Run Code Online (Sandbox Code Playgroud)
Tos*_*osh 26
你应该能够使用过滤器: orderBy
orderBy可以接受reverse国旗的第三个选项.
<select ng-option="item.name for item in items | orderBy:'name':true"></select>
Run Code Online (Sandbox Code Playgroud)
此处项目按"名称"属性按相反顺序排序.第二个参数可以是任何顺序函数,因此您可以对任何规则进行排序.
@see http://docs.angularjs.org/api/ng.filter:orderBy
| 归档时间: |
|
| 查看次数: |
145537 次 |
| 最近记录: |