2013-02-20 2 views
2

이 AngularJS 연관 배열 (키, 값 쌍의 배열)에서 ng-repeat는 제대로 작동하지 않습니다. 뭐가 문제 야?AngularJS Assoc Array Foreach

function TestCtrl($scope) { 
    $scope.list = []; 

    $scope.processSomeData = function(){ 
     $scope.list["testKey"]={}; 
     $scope.list["testKey"]["test"]="Test value"; 
    }; 
    $scope.processSomeData(); 
} 

<div ng-app> 
    <h2>Test</h2> 
    <div ng-controller="TestCtrl"> 
     <div ng-repeat="(key,value) in list"> 
      {{key}} 
      {{value.test}} 
     </div> 
    </div> 
</div> 

http://jsfiddle.net/ebZkg/

감사합니다!

답변

11

"연관 배열"은 자바 스크립트 개체이어야하며 자바 스크립트 배열이 아닙니다. 키, 값 쌍/맵에 대해서는 AngularJS에서 js 배열을 사용할 수 없습니다.

객체로 list을 변경

그것은 작동합니다

보조 노트에
$scope.list = {}; 
+1

, 키를 기준으로 정렬 할 수있는 방법이있다? –

+0

직접적인 방법은 없지만 가능합니다. 당신은 당신 자신의 정렬 함수를 만들 필요가 있고 아마 데이터를 복제 할 것입니다. 간단한 예제 : http://jsfiddle.net/bmleite/ebZkg/1/ – bmleite

+1

사실, 그냥 orderBy를 사용할 수 있습니다. (실제로 나는 그것이 어쨌든 당신이 말한 것을 깨달았습니다.) –