2016-11-23 55 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>