2016-11-23 7 views
0

私はこのようなハッシュマップ反復処理しようとしていますを反復しません。私のClickToEditCtrl.jsにangularjs - ngのリピートはハッシュマップ

index.htmlを

<div ng-app> 
    <div ng-controller="ClickToEditCtrl"> 
     <p>Your Data:</p> 
     <ul ng-repeat="(name, person) in data"> 
       name: {{name}} 
      -------------------------- 
       age: {{person.age}} 
       hair: {person.hair}} 

     </ul> 
    </div> 
</div> 

function ClickToEditCtrl($scope) { 
    $scope.data =[]; 
    $scope.data["Mike"] = new person (11,"blonde"); 
    $scope.data["Dan"] = new person (22, "redhead"); 
} 

function person(age, hair){ 
    this.age = age; 
    this.hair = hair; 
} 

それは動作しません..

私は空のリストを取得しています。

何が間違っていますか?

ありがとうございました!

+0

ng-repeatを置くだろうか?あなたがダンの人を加えた後にあなたがそれをするならば、言ってください。 – user2085143

+0

私はdanをキーとして、personオブジェクトは値として期待しているようなハッシュマップを持っています – Matoy

答えて

4

オブジェクトではなく新しい配列を初期化しています。
それは代わりに$scope.data =[];

$scope.data = {};でなければなりませんそして、あなたはより良いあなたがそれをCONSOLE.LOGとき、あなたの$ scope.dataが好きなものを見てんliではなくul

<ul> 
    <li ng-repeat="(name, person) in data"> 

    name: {{name}} 
    -------------------------- 
    age: {{person.age}} 
    hair: {{person.hair}} 
    </li> 
</ul>