Заполнение в AngularJS НГ-параметры из Java-карты. (Сортировка вопроса)


Поэтому я отсортировал карту на Java, а затем перешел на Javascript с new JSONObject(sortedMap);. Это уже Отсортировано по значениям. При передаче в файле Javascript, если я наведу курсор на объект в режиме отладки, я увижу

$scope.fruitList = {'AP' : 'Apple', 'GP' : 'Grape', 'LM' : 'Lemon'}; 

(извините за глупые имена.. просто пример)

После этого, в html файле,

<select ng-model="fruit" ng-options="key as value for (key, value) in fruitList" >
    <option value="">----select----</option>
</select>

Потому что я хочу

<option value="">----select----</option>
<option value="AP">Apple</option>
<option value="GP">Grape</option>
<option value="LM">Lemon</option>
Однако по какой-то причине порядок нарушается, когда он выходит. Я не могу дать вам фактические выходные данные моего кода, так как это не с этим примером здесь. Я не знаю, как именно он заказывается. Мне нужно, чтобы ключи были назначены в качестве ng-модели и отображались значения. Поэтому я не думаю, что могу просто извлечь значения, отсортировать их и отобразить. Любая помощь будет оценена по достоинству! :) В ссылке порядок правильный. Я не уверен, почему, но я думаю, что это потому, что я определяю fruitList в файле javascript, а не передается как сообщение из файла Java.

Http://jsfiddle.net/Lvc0u55v/7921//

2 2

2 ответа:

Попробуйте это,

 <select ng-model="fruit" ng-options="key as value for (key, value) in fruitList | orderBy:'key'" >

Очевидно, это потому, что я использую объект JSON, а не массив JSON. Таким образом, я могу предотвратить изменение заказа.