实际上,我用angularjs编写了代码,在Web浏览器中显示了检索数据,但是ng-repeat无法正常工作。我不知道如何解决。你能帮我吗?
使用角度js代码
$scope.fetchData = function()
{
$http({
method: 'GET',
url: 'fetch_data.php'
}).then(function (response){
console.log(response);
namesData = response.data;
console.log(namesData );
},function (error){
console.log(error);
});
};
<tr ng-repeat="name in namesData ">
<td>{{name.first_name}}</td>
<td>{{name.last_name}}</td>
</tr>
浏览器显示
{mydata: Array(0), namesData: "<[{"first_name":"xvcv","last_name":"sdsd"},{"first_name":"sdvs","last_name":"sdfds"}]"}
答案 0 :(得分:1)
将namesData
替换为$scope.namesData
。
您不能将普通变量绑定到模板/视图。为此,您需要使用$scope/$rootScope
。
$scope.namesData = []; //you need to instantiate this first to avoid errors
$scope.fetchData = function()
{
$http({
method: 'GET',
url: 'fetch_data.php'
}).then(function (response){
console.log(response);
$scope.namesData = response.data;
console.log($scope.namesData );
},function (error){
console.log(error);
});
};
P.S。
错误:[ngRepeat:dupes]
在ngRepeat表达式中有重复的键时发生。 重复键被禁止,因为AngularJS使用键来关联DOM 带有项目的节点。
这意味着$scope.namesData
的某些值重复。
您可以通过添加"track by $index"
来解决。
它看起来像这样
ng-repeat="name in namesData track by $index"