Sto compilando un menu a discesa tramite l'utilizzo di ng-options che è collegato a un controller che a sua volta chiama un servizio. Purtroppo i dati in arrivo sono un disastro e devo essere in grado di ordinarlo alfabeticamente.Ordine a discesa alfabetico in AngularJS
Si capisce che qualcosa come $.sortBy
lo farebbe ma sfortunatamente non lo ha fatto jack. So che posso ordinarlo via javascript con un metodo helper function asc(a,b)
o qualcosa del genere ma mi rifiuto di credere che non ci sia un modo più pulito per farlo e non voglio gonfiare il controller con metodi helper. È qualcosa di così fondamentale in linea di principio, quindi non capisco perché AngularJS non abbia questo.
C'è un modo per fare qualcosa come $orderBy('asc')
?
Esempio:
<select ng-option="items in item.$orderBy('asc')"></select>
Sarebbe estremamente utile avere opzioni in orderBy
in modo da poter fare tutto quello che vuoi, quando di solito si tenta di ordinare i dati.
Analizzare, cercare, guardare al violino (o aggiungendo una sorta di tag select al tutorial di Angular ToDo), ottenere un'opzione da mostrare come 'selezionata' - o persino ottenere la prima opzione da mostrare - è un problema. Con Angular è vuoto? –
@DaveEveritt un modo per impostare un valore predefinito (e per rimuovere l'elemento vuoto) consiste nella preselezione di un oggetto associato per 'selected'. Per questo esempio puoi fare qualcosa come '$ scope.selected = $ scope.friends [0]'. Vedi [questo violino] (http://jsfiddle.net/aBccw/142/) per un campione funzionante. – Gloopy
non ha funzionato per me, ma questo sì: http://stackoverflow.com/a/18261445/2178340 – Gerson