2014-02-17 2 views
0
각도

와 키 우선 표시 목록에 처음 나타납니다. getter 옵션 또는 orderBy은 배열에서만 작동합니다. 누구든지 어떻게 달성 할 수 있는지에 대한 예를 알고 있습니까?항상 내가 같은 NG 반복이

+0

귀하의 요구 사항이 너무 구체적입니다. 뷰의'ng-repeat' 컨트롤에서 객체를 사용하기 전에 (컨트롤러 자체에서) 객체를 처음부터 정렬하는 것이 좋습니다. – callmekatootie

답변

1

기본적으로 정렬되지 않은 개체가 있고 어떤 종류의 순서가 있기를 원합니다.

이렇게하려면 순서가 지정된 개체를 반환하는 함수를 만들어야합니다.

myApp.filter('promote_foo', function() { 
    return function(object, comp) { 
     console.log(object); 
     console.log(comp); 
     var ordered = []; 
     for (var key in object) { 
      var obj = { 
       key: key, 
       value: object[key] 
      }; 
      if (key === comp) 
       ordered.splice(0,0,obj); 
      else 
       ordered.push(obj); 

     } 
     console.log(ordered); 
     return ordered; 
    }; 
}); 

이 함수는 키가 일치하면 매개 변수를 사용하여 승격되고 반대합니다. 이제는 컨트롤러에서 직접 호출하기 만했으나 각도 필터와 마찬가지로 사용할 수 있습니다.

$scope.order = $filter('promote_foo')($scope.data, 'foo'); 

또한 here으로 재생할 수 있습니다.

희망이 도움이되었습니다!

관련 문제