目前是一个包含控制器和服务的简单应用。看起来服务正确加载到模块中,但控制器没有将其拾起。如果我从控制器中删除“Photo”注入,代码不会崩溃。只有当我尝试将服务注入控制器时才会发现问题。
controllers.js文件:
var photoViewer= angular.module('photoViewer', ['photoViewer.services']);
photoViewer.controller('PhotoListCtrl', ['$scope', 'Photo', function($scope, Photo) {
$scope.photos = Photo.getPhotos();
}]);
services.js文件:
angular.module('photoViewer.services', [], function($provide) {
$provide.factory('Photo', ['$resource', function($resource){
return {
getPhotos: function() {
return [
{'name': 'test1'},
{'name': 'test2'}
];
}
}
}]);
});
Html文件:
<html ng-app="photoViewer">
<head>
<title>Photo Viewer</title>
</head>
<body>
<div ng-controller="PhotoListCtrl" style="width:500px;">
<div>{{photos.length}} total photos found.</div>
<ul>
<li ng-repeat="photo in photos">
{{$index + 1}} - {{photo.name}}
</li>
</ul>
</div>
<script src="/js/libs/angular.min.js"></script>
<script src="/js/services.js"></script>
<script src="/js/controllers.js"></script>
</body>
</html>
答案 0 :(得分:1)
$provide.factory('Photo', ['$resource', function($resource){
依赖于$resource
,而您似乎没有将其包括在内。
以下是$resource
上的文档: