我已经用AngularJS编写了一个服务,但是我无法使其与角度种子处理方式一起使用。
控制器代码如下:
/*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服务:
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() { }]);
一些参考:
在上面的示例代码中,我使用了参数别名,建议这样做是为了避免在最小化代码时出现问题。
还有一个Plunker:http://plnkr.co/edit/Bzjruq