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 アーキテクチャかどうか教えてください。

4

1 に答える 1

0

いくつかの閉じ括弧がありませんでした

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

REST に関しては、バックエンド サーバー エンドポイントがどのように定義されているかによって異なります。

クライアント側では、リソースのサービスを定義できます。つまり、REST メソッド (get、put、delete、update) を使用した $http のラッパーです。

于 2015-01-08T23:34:38.513 に答える