ngResource: у объекта нет запроса метода

Пытаюсь заставить ngResource работать, но получаю ошибку:

Объект # не имеет метода 'запрос'

Я пытался сделать это как можно проще, и согласно документации/сообщениям, которые я могу найти, это должно работать. Но это не так.

Вот мой сервис/фабрика:

var srcServices = angular.module('srcServices', ['ngResource']);

srcServices.factory('Rotation', ['$resource',
  function ($resource) {
    return $resource('/rotations/:id' );
  }]);

А вот код контроллера, вызывающий ошибку:

var srcControllers = angular.module('srcControllers', ['ngResource']);

srcControllers.controller('RotationListCtrl', ['$scope', '$location', 'Rotation', function($scope, Rotation, $location) {

  Rotation.query(function(data) {$scope.rotations = data;})

  $scope.edit = function(a) {
    var path = "/rotations/" + a._id.$oid;
    $location.path(path);
  };
}]);

person jkbradshaw    schedule 04.04.2014    source источник
comment
Для минификации инъекции зависимостей должны быть в том же порядке. srcControllers.controller('RotationListCtrl', ['$scope', '$location', 'Rotation', function($scope, $location, Rotation) { } . Примечание. $location — второй параметр, а Rotation — третий.   -  person dmahapatro    schedule 04.04.2014
comment
Это сработало, хотя я не использую минифицированный js. Спасибо!   -  person jkbradshaw    schedule 04.04.2014


Ответы (1)


Попробуй это

var srcControllers = angular.module('srcControllers', ['ngResource', 'srcServices']);

Вы создаете службу как новый угловой модуль. Поэтому, чтобы получить доступ к сервису, вы должны внедрить его в свой контроллер.

person BKM    schedule 04.04.2014
comment
Это, казалось, не имело никакого значения. Та же ошибка. - person jkbradshaw; 04.04.2014