Reputation: 240
I have created a route config like below :
angular.module('kappa.configs',['ngRoute'])
.config(['$routeProvider',function($routeProvider){
$routeProvider.when('/',{
controller: 'MainCtrl',
resolve: {
getPlate: ['$http',function($http){
return $http.get('samples.json');
}]
}
});
}]);
angular.module('kappa.controllers',[])
.controller('MainCtrl',['$scope','$http','SamplesService','getPlate',function($scope,$http,SamplesService,getPlate){
$scope.fullPlate = getPlate;
// Some more code here
}]);
//Some more code
angular.module('kappa',['ngResource','ngRoute','kappa.services','kappa.controllers','kappa.configs']);
But I get a unknown provider error like below:
Error: [$injector:unpr] Unknown provider: getPlateProvider <- getPlate
http://errors.angularjs.org/1.2.9/$injector/unpr?p0=getPlateProvider%20%3C-%20getPlate
at http://code.angularjs.org/1.2.9/angular.js:78:12
at http://code.angularjs.org/1.2.9/angular.js:3546:19
at Object.getService [as get] (http://code.angularjs.org/1.2.9/angular.js:3673:39)
at http://code.angularjs.org/1.2.9/angular.js:3551:45
at getService (http://code.angularjs.org/1.2.9/angular.js:3673:39)
at invoke (http://code.angularjs.org/1.2.9/angular.js:3700:13)
at Object.instantiate (http://code.angularjs.org/1.2.9/angular.js:3721:23)
at http://code.angularjs.org/1.2.9/angular.js:6772:28
at http://code.angularjs.org/1.2.9/angular.js:6185:34
at forEach (http://code.angularjs.org/1.2.9/angular.js:310:20)
I am stuck here .. any help is appreciated ..
Upvotes: 2
Views: 2808
Reputation: 34288
You will run into this problem if you are trying to use the controller anywhere other than in the context of a route
, e.g. if you have ng-controller="MainCtrl"
somewhere in your template or if you are using it another route which does not have getPlate
resolver.
Working demo: http://plnkr.co/edit/J4thldg3aWmC9e8UAHut?p=preview
If you include ng-controller="MainCtrl"
anywhere in the template, you'll see the error.
Upvotes: 3