Załóżmy, że mam następujących użytkowników:Jak posortować źródło danych obiektu w ng-repeat w AngularJS?
$scope.users = {
"2": {
email: '[email protected]',
name: 'John'
},
"3": {
email: '[email protected]',
name: 'Elisa'
}
}
Chciałbym stworzyć <select>
z następujących opcji:
<option value="3">Elisa</option>
<option value="2">John</option>
Innymi słowy, użytkownicy powinni być sortowane według nazwy.
Próbowałem następujących używając składni (key, value) in expression
, ale to nie działa:
<option ng-repeat="(user_id, user) in users | orderBy:'user.name'"
value="{{ user.id }}">
{{ user.name }}
</option>
Czego mi brakuje?
Nie sugeruj rozwiązań z ng-options
, ponieważ używam ui-select2
, który jest niezgodny z ng-options
.
Nie potrzebujemy dwa nowe tagi na to pytanie i to pytanie tylko. Prosimy o tagowanie przysług, dodając odpowiednią wiki i dodając je do innych istotnych pytań. Jeśli nie możesz znaleźć innych pytań do tagów, to nie muszą istnieć dwa razy w ciągu ... – Charles
'ng-repeat' i' orderBy' są bardzo często używane w AngularJS. Wierzę, że będzie o wiele więcej pytań dotyczących tych dwóch.Ale w każdym razie dodałem te znaczniki do innych pytań. –
Ponieważ brakuje mi reputacji, która formalnie sugeruje alternatywne pisownie tagów, ktoś inny powinien dodać ** angularjs-order-by **. Wydaje się bezsensowne, że wielbłądziek "ngRepeat" stanie się 'ng-repeat', a' orderBy' stanie się 'orderby'. – maurice