我正在尝试像这样迭代 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;
}
这不起作用..
我得到的是空列表。
我做错了什么?
谢谢!
最佳答案
您正在初始化新数组而不是对象。
它应该是 $scope.data = {};
而不是 $scope.data =[];
并且你最好将 ng-repeat
放在 li
上,而不是 ul
<ul>
<li ng-repeat="(name, person) in data">
name: {{name}}
--------------------------
age: {{person.age}}
hair: {{person.hair}}
</li>
</ul>
关于javascript - angularjs - ng-repeat 不会迭代 hashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40760345/