2015-01-08 4 views
0

У меня есть 2 объектов, как показано ниже

person { 
    personID, 
    personName, 
    Array of Cars (Person Car) 
} 

Cars { 
    carID, 
    carName 
} 

а затем реляционная сущностей для Person-Car, как показано ниже

PersonCar { 
    personID, 
    CarID, 
    relatedProperty1, 
    relatedProperty2 
} 

Теперь, чтобы представить это на данных на HTML-странице, я делаю ниже

<div class="row" ng-repeat="person in persons"> 
     <div class="col-xs-6"> 
      {{person.personID}} - {{person.personName}} 
     </div> 
     <div class="col-xs-6"> 
      <div class="row"> 
      <div class="col-xs-12" ng-repeat="car in cars"> 
       {{person.carID}} - {{getCarName(person.carID)}} - 
       {{person.relatedProperty1}} - {{person.relatedProperty2}} 
      </div> 
      <!-- Each Car--> 
      </div> 
      <!-- Array of Cars--> 
     </div> 
     <!-- Array of Cars Section --> 
    </div> 
    <!-- Person Row-->      

Кроме того, данные загружаются, как показано ниже

modelInfo.controller('modelInfoController', function ($scope, $http, $filter) { 
    $http.get('http://localhost/person/123'). 
      success(function(data) { 
       $scope.persons = data 
      } 

      $scope.getCarName = function(carID) { 
      $http.get('http://localhost/car/54545'). 
        success(function(data) { 
         $scope.persons = data.carName 
      }     
      } 

      }; 

По какой-то неизвестной причине сценарий бесконечно чередуется над функцией getCarName. Пожалуйста, помогите мне разобраться в этом вопросе. Также, пожалуйста, дайте мне знать, если это хорошая архитектура REST.

+0

Это хороший код spaguetti. Я считаю, что вы должны решить это самостоятельно. Проанализируйте, что вы сделали, и попытайтесь найти, что случилось! В конце концов, SO не является местом для фиксации ума вообще ... –

ответ

0

Вы отсутствовали закрывающий пар parenthesizes

modelInfo.controller('modelInfoController', function ($scope, $http, $filter) { 
    $http.get('http://localhost/person/123').success(
     function(data) { 
      $scope.persons = data 
     } 
    ); // <-- here, closing success function call 

    $scope.getCarName = function(carID) { 
     $http.get('http://localhost/car/54545').success(
      function(data) { 
       $scope.persons = data.carName; 
      } 
     ); // <-- here too  
    }; 

}); // <-- and here, closing the controller call 

Как для отдыха, это зависит от того, как конечных точек бэкенда сервера определяется

Хотя на стороне клиента, вы можете определить услуги для ваших ресурсов, т.е. обертка для $ http с методами REST (get, put, delete, update)

Смежные вопросы