我的firebase中的当前数据集如下所示:
{ “-JZ7b”:{ “名”: “鲍勃”,“有”: “松弛”},“ – JZ7a”:{ “名”: “康妮”,“有”: “松弛”}}
如果我使用类似的东西:
<ul><li ng-repeat="(key,person) in people |orderBy 'name'"></li></ul>
我明白了:
> -JZ7a康妮懈怠
> -JZ7b bob有松弛
获得预期订单的最佳方法是什么?我意识到在这个例子中,键并不完全有意义,但是,假设它们是.构建自定义指令的想法似乎是一个有趣的选择,我的代码可能与原始代码相比有点混乱.
OrderBy不适用于对象.您可以使用过滤器
toArray.
<li ng-repeat="p in people | toArray | orderBy: 'name'" ng-click="cpSelect(p.$key)"> {{p.$key}} {{p.name}} has {{p.has}} </li>