在angularjs ng-repeat指令中对对象进行排序
Sort an object in angularjs ng-repeat directive
我有一个对象
Object {1: "CMAR0002", 2: "CMAR0003", 4: "CMAR0001"}
我在 ng-repeat 指令中使用此对象,但我想按值对其进行排序。但问题是角度 orderBy 过滤器需要对象数组。但我这里只有非常简单的对象;)
提前致谢
通过 Angular ng-repeat 文档:
可以让 ngRepeat 迭代属性...
但是,与数组迭代相比,存在一个限制,例如"内置过滤器 orderBy 和 filter 不适用于对象,如果与一个对象一起使用,则会抛出"
如果您遇到这些限制中的任何一个,建议的解决方法是将对象转换为一个数组,该数组在将其提供给 ngRepeat
之前按您喜欢的顺序排序。您可以使用 toArrayFilter 等过滤器执行此操作,也可以自己在对象上实现$watch。
无论如何,您可以尝试为此实现自己的过滤器,但它会非常丑陋,并且需要付出很多努力(可能一无所获)。
希望它能帮助你!
这样做:
<li ng-repeat="(key, value) in Object | orderBy: key">
{{ key }} - {{ value }}
</li>
小提琴:http://jsfiddle.net/oo4cb9xf/1/
相关文章:
- 如何在节点中进行 Json 对象排序.js
- jQuery.每个对象排序
- Javascript对象排序
- Javascript 对象排序
- Javascript中的JSON对象排序
- jQuery停止对象排序
- 带有下划线排序的对象排序的数组
- JS对象排序日期排序
- JSON对象排序被jQuery或Javascript篡改
- 高级对象排序
- 将json对象排序到嵌套树中
- 按两个不同的条件对数组中的对象排序
- 如何在angular js中使用自定义排序顺序对对象排序
- 在AngularJS的ng-repeat中,使用Underscore/Lodash按值将对象排序为一对数组
- 给定一个对象数组,如何根据深度为n的属性对对象排序
- JavaScript数组对象排序没有按预期工作
- 对数组内的对象排序
- 自定义javascript对象排序和维护索引关联
- Javascript对象排序不工作
- Javascript对象的对象排序