AngularJS повторения внутри повторяющегося цикла бесконечен

0
<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, это мой код, который я использую, но этот цикл подходит к бесконечному времени, и я не понимаю, где я ошибся, может ли кто-нибудь помочь мне

  • 0
    ум, разделяющий код JS?
  • 0
    ты можешь показать свой контроллер? Что делает getData?
Показать ещё 1 комментарий
Теги:

1 ответ

0

Вы не можете вызвать службу $http внутри ng-repeat, потому что это приводит к бесконечным циклам. Объяснение: угловая бесконечная $ digest Loop в ng-repeat. Надеюсь это поможет.

Вы можете вызывать $scope.getData() для каждого id заранее, хранить результаты в массиве, а затем вызывать этот массив в ng-repeat.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню