使用AngularJS将服务注入控制器
我已经在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
服务:
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
还有一个Plunker在这里:http://plnkr.co/edit/Bzjruq
链接地址: http://www.djcxy.com/p/77815.html