<table>
<tr ng-repeat="objective in objectives">
<td>
<p> {{objective.name}} </p>
<table>
<tr ng-repeat="data in getData(objective.id)">
<td> {{data.value}} </td>
</tr>
</table>
</td>
</tr>
</table>
my controller code is ---
objectiveService.getObjective().success(function (data) {
$scope.objectives = data;
$scope.loading = false;
})
.error(function (data) {
$scope.error = "An Error has occured while loading posts! " + data.ExceptionMessage;
$scope.loading = false;
});
$scope.getData = function (id) {
$scope.loading = true;
var currentObjective = id;
objectiveService.getObjectiveById(currentObjective).success(function (data) {
$scope.loading = false;
return data;
}).error(function (data) {
$scope.error = "An Error has occured while Saving Objective! " + data.ExceptionMessage;
$scope.loading = false;
});
};
Я работаю над AngularJS, это мой код, который я использую, но этот цикл подходит к бесконечному времени, и я не понимаю, где я ошибся, может ли кто-нибудь помочь мне
Вы не можете вызвать службу $http
внутри ng-repeat
, потому что это приводит к бесконечным циклам. Объяснение: угловая бесконечная $ digest Loop в ng-repeat. Надеюсь это поможет.
Вы можете вызывать $scope.getData()
для каждого id
заранее, хранить результаты в массиве, а затем вызывать этот массив в ng-repeat
.