我有一个对象
Object {1: "CMAR0002", 2: "CMAR0003", 4: "CMAR0001"}
我在ng-repeat指令中使用此对象,但我想按值对其进行排序。但问题是角度orderBy过滤器需要对象数组。但我这里只有非常简单的对象;)
提前致谢
答案 0 :(得分:1)
按Angular ng-repeat documentation:
可以让ngRepeat迭代属性...
但是,与数组迭代相比存在一些限制,例如“内置过滤器 orderBy 和过滤器不适用于对象,并且如果与一个“
如果您遇到任何这些限制,建议的解决方法是将您的对象转换为一个数组,该数组在提供给ngRepeat
之前按照您喜欢的顺序排序。您可以使用toArrayFilter等过滤器执行此操作,也可以自行对该对象执行$ watch。
无论如何,你可以尝试为此实现自己的过滤器,但它会非常难看,需要付出很多努力(可能一无所获)。
希望,它会帮助你!
答案 1 :(得分:-1)
这样做:
<li ng-repeat="(key, value) in Object | orderBy: key">
{{ key }} - {{ value }}
</li>