2016-09-06 3 views
0

Гигантский массив объектов, на котором я был благословлен, сортируется по его коду, а не по-человечески. Я бы хотел, чтобы он показывал дружеские отношения.Угловой: отсортируйте параметры по выбору

portsService:

var _getPorts = function(){ 
     return _portList; 
    } 

    var _portList = [{ 
      "code": "0101", 
      "portOfEntry": "Portland, ME" 
     }, { 
      "code": "0102", 
      "portOfEntry": "Bangor, ME" 
     }, { 
      "code": "0103", 
      "portOfEntry": "Eastport, ME" 
     }, { 
      "code": "0104", 
      "portOfEntry": "Jackman, ME" 
     }, ... 

Контроллер:

vm.getPortsSelect = function() { 
     vm.ports = portsService.getPorts(); 
    }; 

Вид:

<select 
     ng-model="adminManifestVm.Manifest.usPortOfArrival" 
     ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports" 
     name="usPortOfArrival" 
     class="form-control input-inline input-medium" 
     required> 
    <option value=""></option> 
</select> 

Есть plent y способов сортировки массива объектов вручную. Есть ли уклон?

ответ

1

Вы можете просто использовать фильтр orderBy

ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports | orderBy:'code'" 

DEMO APP

+0

Зачем голосовать? – Sajeetharan

+0

Ах! Я пробовал это, но пропустил одиночные кавычки! – DaveC426913

+1

Да. Спасибо. Отмечено как ответ. – DaveC426913

1

Да, угловой способ заключается в использовании filter. В этом случае orderBy фильтр так:

<select ng-model="adminManifestVm.Manifest.usPortOfArrival" 
    ng-options="port.code as port.portOfEntry for port in adminManifestVm.ports | orderBy: 'code'" 
    name="usPortOfArrival" 
    class="form-control input-inline input-medium" 
    required> 
    <option value=""></option> 
</select> 

Вот использование в документации orderBy:

{{ orderBy_expression | orderBy : expression : reverse : comparator}}

Как вы можете видеть, это также возможно в обратном порядке с обратной логическое значение. Выражение также может быть необязательно префикс + или - для управления направлением сортировки, восходящим или нисходящим. Например, «+ код» или «-код» в этом случае.

+0

Почему голос? : / – cnorthfield

Смежные вопросы