Próbowałem użyć ng-options
, aby wyświetlić tablicę czcionek w wybranym alfabetycznie uporządkowanym sortowaniu według wartości elementów w tablicy.Tablica sortowania AngularJS ngOptions
HTML
<select ng-options="font for font in webfonts | orderBy:'font'" name="fonts">
<option value="">Choose a font</option>
</select>
JS
$scope.webfonts = [
'Abel', 'Crafty Girls' , 'Lato' , 'Average',
'Corben', 'Quicksand', ... ];
Próbowałem zmieniając wartość w orderBy
i innych rzeczy. Przeczytałem documentation i wszystkie komentarze.
Czego mi brakuje? Czy to ma działać tylko na obiektach?
To działa! Dzięki! ale dlaczego to działa? Jestem zdezorientowany. –
@ChrisB Ponieważ 'toString()' jest dostępne w dowolnym obiekcie 'string' w prototypie. To rzeczywiście jest sztuczka i zasługuje na to, aby pamiętać na zawsze. – zsong
Działa, ponieważ '.toString()' jest właściwością ciągu znaków w tablicy 'webfonts', a' orderBy' oczekuje właściwości podanego obiektu ('font'). W tym samym czasie 'toString()' zwraca wartość 'font', która jest dokładnie tym, co chcę zamówić. Czy to jest poprawne? Czy rozumiem to poprawnie? –