そのような配列があります:
month: Array[13]0: "M"1: "January"2: "February"3: "March"4: "April"5: "May"6: "June"7: "July"8: "August"9: "September"10: "October"11: "November"12: "December"
私がやります:
ng-options="key as value for (key, value) in data.month | orderBy:key"
しかし、ソートされていない選択リストが表示されます。
フィルタでトラッキングを使用するには、track by
を使用します。
マークアップ
ng-options="key as value for (key, value) in data.month | orderBy:'key' track by key"
更新
このorderBy
は、リテラル配列を使用しているため、機能しません。この配列を[{id: 0, value: "M"}, {id: 1, value: "January"},......]
のように構造化されたオブジェクトのようなJSONに変換する必要があります
[〜#〜] html [〜#〜]
ng-options="item.id as item.value for items in data.month | orderBy:'id'"
不足している2つの'
。この部分、orderBy: key
はorderBy:'key'
である必要があります
これを試して:
ng-options="key as value for (key, value) in data.month | orderBy: 'key'"
この問題を解決するには、再フォーマットする必要がありますng-option
のように:
day.id as day.value for day in data.month
そして配列data.month
はユーザーに言われたようになりますpankajparkar