我的 firebase 中当前的数据集如下所示:
{"-JZ7b":{"name":"bob","has":"slack"},"-JZ7a":{"name":"connie","has":"slack"}}
如果我使用类似的东西:
<ul><li ng-repeat="(key, person) in people |orderBy 'name'"></li></ul>
I get:
这是一个小提琴 http://jsfiddle.net/vVk6E/17/
获得预期订单的最佳方式是什么无需将我的数据更改为其他格式 https://stackoverflow.com/questions/14330878/angular-js-orderby-not-working-with-dict-syntax-on-ng-repeat?我意识到在这个例子中的键并不完全有意义,但假设它们是有意义的。构建自定义指令的想法似乎是一个有趣的选择,但是,与原始代码相比,我的代码可能有点混乱。
OrderBy 不适用于对象。您可以使用过滤器toArray https://github.com/angular/angular.js/issues/1286.
<li ng-repeat="p in people | toArray | orderBy: 'name'" ng-click="cpSelect(p.$key)">
{{p.$key}} {{p.name}} has {{p.has}}
</li>
Demo: http://jsfiddle.net/62exD/ http://jsfiddle.net/62exD/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)