2016-11-23 31 views
0

我試圖遍歷HashMap中這樣的循環:angularjs - NG-重複不超過HashMap的

的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> 

在我ClickToEditCtrl.js

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

那麼你的$ scope.data看,當你CONSOLE.LOG它怎麼樣?假如你在添加丹人之後做了這件事。 – user2085143

+0

它有一個hashmap,就像我期望的那樣,將dan作爲key和person對象作爲值 – Matoy

回答

4

您正在初始化新數組而不是對象。
應該$scope.data = {};而不是$scope.data =[];

你最好把ng-repeatli而非ul

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

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