Reputation: 190
I am trying to inject my service, but I keep getting unpr error. I followed the angularjs doc, but it didn't seem to solve it. I am at a loss for why this error keeps coming up.
My Service
(function(){
'use strict';
angular
.module('omicron.projects.services')
.factory('Projects', Projects);
Projects.$inject = ['$resource', '$scope'];
/**
*
* @param $resource
* @constructor
*/
function Projects($resource){
return $resource('/api/projects/:userid', {}, {
get: {method: 'GET'},
query: {method: 'GET'},
update: {method: 'PUT'},
save: {method: 'POST'},
delete: {method: 'DELETE'}
},{
stripTrailingSlashed: false
});
}
})();
My Controller, that call the Service
(function() {
'use strict';
angular
.module('omicron.projects.controllers')
.controller('ProjectController', ProjectController);
ProjectController.$inject = ['$scope', 'Projects'];
function ProjectController($scope, Projects) {
var vm = this;
vm.projects = Projects.get({userid: $scope.user}, function(){
console.log(projects);
});
}
})();
My Module Definitions
/**
* Created by shahab on 15-09-03.
*/
(function(){
'use strict';
angular
.module('omicron.projects', [
'omicron.projects.controllers',
'omicron.projects.directives',
'omicron.projects.services'
]);
angular
.module('omicron.projects.services', ['ngCookies', 'ngResource']);
angular
.module('omicron.projects.controllers', []);
angular
.module('omicron.projects.directives', []);
})();
My Error:
Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- Projects
Upvotes: 1
Views: 133
Reputation: 136184
Factory can't have access to scope
Projects.$inject = ['$resource', '$scope']; //remove scope from here
Should be
Projects.$inject = ['$resource'];
Additionally you need to make sure you are added angular-resource.js
library and ngResource
module in your app main module omicron.projects
You should have something like below in your app.js
angular.module('omicron.projects', [
'omicron.projects.services',
'omicron.projects.controllers',
'omicron.projects.directives',
'ngResource'
])
Upvotes: 2