Reputation: 4257
I can't get the provider injected in my config section, here my code:
<!-- they are placed in that order -->
<script src="app/components/department/DepartmentController.js"></script>
<script src="app/components/department/DepartmentProvider.js"></script>
<script src="app/components/department/DepartmentService.js"></script>
<script src="app/components/department/support/SupportController.js"></script>
<script src="app/components/department/support/SupportRouter.js"></script>
Department.js
var departmentModule = angular.module('module.department', ['ngResource']);
// departmentModule.controller('DepartmentController', function($scope) {
// nothing here
// });
DepartmentService.js:
departmentModule.factory('Department', function($http) {
return {
getAll : function(){
return $http.get('/api/departments');
},
getByName : function(name){
return $http.get('/api/department/'+name);
}
};
});
DepartmentProvider.js:
departmentModule.provider('Department', function() {
var name = 'marwen';
this.$get = function() {
return {
name: name
};
};
});
SupportRouter.js :
supportModule.config(function($stateProvider, $urlRouterProvider,$locationProvider,DepartmentProvider) {
...
I get this error: Unknown provider: DepartmentProvider
Upvotes: 1
Views: 98
Reputation: 136194
Department
provider has been overridden by the Department
service, you need to specify the different name for provider & service, Both can not be with a same name, The latest one will get register. As you are loading service after provider. Service gets register with in Angular App & the provider is not available inside config.
Upvotes: 1
Reputation: 3303
Try to change supportModule.config(function($stateProvider, $urlRouterProvider,$locationProvider,DepartmentProvider)
to supportModule.config(function($stateProvider, $urlRouterProvider,$locationProvider,Department)
or change your provider name from Department
to DepartmentProvider
Upvotes: 1