2015-07-20 3 views
0

Я пытаюсь изучить угловой. я написал ниже кусок кода, но это бросает ошибку, поскольку service.getImages не является функцией. Пожалуйста, помогите мне выяснить, чего я здесь не вижу.Угловое обслуживание бросает ошибку при вызове контроллера

обслуживание:

services.service('interiors', function($http){ 

    return{ 
     getImages : function(){ 
      return $http.get("imageListSpace/living?from=300000&to=200000&page=1"); 
     } 
    } 

}); 

Контроллер:

otCtrls.controller('ImageListController', [ '$scope', '$routeParams', 'interiors', function($scope, $routeParams, interiors) { 
      $scope.imageList = {}; 

      interiors.getImageList().success(function(data) { 
       $scope.imageList = data; 
      }); 
} ]); 

Вид:

<li ng-repeat="image in imageList | filter:query"> 
     <div id="imageContainer" > 
      <img src="{{image.path_small}}" /> 
      <div id="imageText"> 
       <p>{{image.description_short}}</p> 
      </div> 

     </div> 
     <div id="priceText"> 
      <div class="col-xs-6"> 
       <span>Starting from </span><span>Rs {{image.price}}</span> 
      </div> 
      <div class="col-xs-6"></div> 

     </div> 
    </li> 

Пожалуйста, помогите мне понять, что я здесь отсутствует.

+2

Вы призывающую getImageList от контроллера, но к вашим услугам функция называется getImages – Rob

+0

Кроме того, $ scope.imageList должен быть массивом, а не объектом. – Rob

ответ

0

Ваш контроллер и службы имеют разные названия для одной и той же функции, либо изменить службу, чтобы быть

return{ 
    getImageList : function(){ 
     return $http.get("imageListSpace/living?from=300000&to=200000&page=1"); 
    } 
} 

или контроллер для вызова

interiors.getImages().success(function(data) { 
      $scope.imageList = data; 
     }); 
Смежные вопросы