пользовательский порядок сортировки не работает - PullRequest
0 голосов
/ 20 мая 2018

Я думаю, что я прочитал все вопросы и ответы о пользовательской сортировке в ng-repeat, но я все еще не могу достать это.Что я делаю не так, что мне не хватает?

Это мой код контроллера:

$scope.persons = [
 {'name': "Pete", 'eyes': 'green', 'hair': 'blonde', 'part': 1},
 {'name': "Dave", 'eyes': 'blue', 'hair': 'red', 'part': 2},
 {'name': "Derek", 'eyes': 'blue', 'hair': 'blonde', 'part': 2},
 {'name': "Jake", 'eyes': 'brown', 'hair': 'black', 'part': 3},
 {'name': "Jeff", 'eyes': 'brown', 'hair': 'darkbrown', 'part': 4},
];

$scope.sortPersons = function(item){
  switch(item.eyes){
   case 'green': return 2;
   case 'blue': return 3;
   case 'brown': return 1;
 }
}

HTML:

<div ng-repeat="p in persons | orderBy:sortPersons ">
 <p>name: {{p.name}}, eyes: {{p.eyes}}, hair: {{p.hair}}, part: {{p.part}}</p>
</div>

Как вы понимаете, я хочуСортировать по цвету глаз по порядку коричневый - зелёный - синий.Но мой код не работает таким образом.Надеюсь, кто-нибудь может дать мне решение.

1 Ответ

0 голосов
/ 20 мая 2018

Я запустил ваш код, и он, кажется, работает

, это мой заказ:

name: Jake, eyes: brown, hair: black, part: 3

name: Jeff, eyes: brown, hair: darkbrown, part: 4

name: Pete, eyes: green, hair: blonde, part: 1

name: Dave, eyes: blue, hair: red, part: 2

name: Derek, eyes: blue, hair: blonde, part: 2

каков результат, который вы получаете?

...