我需要将2个字符串保存到这样的数组中:
array[0].name = "William"
array[0].dni = "00112233Z"
所以我可以使用ng-repeat:
<ul>
<li ng-repeat="item in array">
{{item.name}}
{{item.dni}}
</li>
</ul>
但我不知道如何在Angular中声明它,无论我如何尝试,我都会收到此错误:TypeError:无法设置属性&#39; name&#39;未定义的。
以下是我获取数据的代码:
$scope.array=[];
$scope.initial = function () {
$http.get('data/people.json').success(function (data) {
$scope.jsonData = data;
for(var i=0; i<$scope.jsonData.persons.length;i++){
$scope.array[i].name=$scope.jsonData.persons[i].person.nombre;
$scope.array[i].dni=$scope.jsonData.persons[i].person.dni;
}
});
};
任何帮助都将不胜感激。
问候。
答案 0 :(得分:0)
您必须先在数组中设置一个对象,以指定以下属性:
$scope.array=[];
$scope.initial = function () {
$http.get('data/people.json').success(function (data) {
$scope.jsonData = data;
for(var i=0; i<$scope.jsonData.persons.length;i++){
$scope.array[i] = {};
$scope.array[i].name=$scope.jsonData.persons[i].person.nombre;
$scope.array[i].dni=$scope.jsonData.persons[i].person.dni;
}
});
};
否则array[i]
未定义,因为它是一个空数组