私はng-options
配列内のアイテムの値でアルファベット順にソートされたフォント配列を表示します。
[〜#〜] 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', ... ];
orderBy
などの値を変更してみました。 documentation およびすべてのコメントを読みました。
私は何が欠けていますか?これはオブジェクトでのみ動作するはずですか?
これはあなたがする必要があることです:
_<select ng-model="selected" ng-options="font for font in webfonts | orderBy:'toString()' " name="fonts">
_
toString()
を使用してソートできます。 orderBy
の式はGetter関数になる可能性があるためです。この関数の結果は、<、=、>演算子を使用してソートされます。ドキュメントで指定されているように、文字列引数はプリミティブではなくオブジェクトプロパティ用です。音のように基本的なことですが、引数を返すだけの関数をスコープに作成し、orderBy
に渡す必要があると思います。
jsFiddle !をご覧ください。