Подтвердить что ты не робот

Ввод в эксплуатацию контроллера с помощью AngularJS

Я написал службу в AngularJS, но я не могу заставить ее работать с angular -seed способом делать что-то.

Код контроллера выглядит следующим образом:

/*function PhotoCtrl($scope, Photo) {
    $scope.photos = Photo.query();
}*/

angular.module('myApp.controllers', []).
    controller('PhotoCtrl', [function($scope,Photo) {
    $scope.photos = Photo.query();
}])
.controller('MyCtrl2', [function() {

}]);

Обратите внимание, что раздел с комментариями работает отлично, но я хотел бы обработать его как второй (рекомендуется).

Ошибка, которую я получаю, заключается в том, что Photo undefined, поэтому я предполагаю, что это мой метод передачи (инъекции), это неправильно, но я не могу выяснить, как это сделать правильно

4b9b3361

Ответ 1

Вам необходимо определить службу Photo:

angular.module('myApp.controllers', [])
    .service('Photo', ['$log', function ($log) {

        return {
            query: function() {
                // the query code here.
            }
        };

    }])
    .controller('PhotoCtrl', ['$scope', 'Photo', function ($scope, Photo) {
        $scope.photos = Photo.query();
    }])
    .controller('MyCtrl2', [function() {

    }]);

Несколько ссылок:

В приведенном выше примере кода я использовал псевдонимы параметров, которые я предлагаю, чтобы избежать проблем при сокращении кода.

См. также пример: Множество применений AngularJS для Controller и rootScope

И Плункер здесь: http://plnkr.co/edit/Bzjruq