[英]angular.js: Error: [$injector:unpr] Unknown provider
I keep getting this error and I cannot figure it why: 我不断收到此错误,但无法弄清原因:
angular.js:13708 Error: [$injector:unpr] Unknown provider: fstackProvider <- fstack <- MainController
Here is a config.js file: 这是一个config.js文件:
angular.module("app")
.constant("fstack", "xxxxxxxxxxxxxx");
Here is my app.js file: 这是我的app.js文件:
(function(){
var app = angular.module('app', ['addCarCtrl', 'galleryCtrl','detailCtrl', 'userCtrl', 'ngRoute', 'angular-filepicker'])
app.controller('MainController', MainController);
function MainController($scope, fstack) {
$scope.fstack = fstack;
}
app.config(function($routeProvider, filepickerProvider){
//The route provider handles the client request to switch route
$routeProvider.when('/addCar', {
templateUrl: 'partials/addCar.html',
controller: 'addCarController'
})
.when('/gallery', {
templateUrl: 'partials/gallery.html',
controller: 'galleryController'
})
.when('/detail/:id', {
templateUrl: 'partials/detail.html',
controller: 'detailController'
})
.when('/login', {
templateUrl: 'partials/login.html',
controller: 'userController'
})
.when('/', {
templateUrl: 'partials/home.html'
})
//Redirect to addCar in all the other cases.
.otherwise({redirectTo:'/'});
filepickerProvider.setKey('{{fstack}}');
});
})();
Here is some of my HTML file: 这是我的一些HTML文件:
<body>
<div class="container">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">AMC MEAN app</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li role="presentation"><a href="/#/addCar">Add Car</a></li>
<li role="presentation"><a href="/#/gallery">Gallery</a></li>
</ul>
</div>
</div>
</nav>
<!-- Here is where the partials will be displayed -->
<div ng-view ng-controller="MainController"></div>
When I add the ng-controller="MainController" I get this error. 当我添加ng-controller =“ MainController”时,出现此错误。 I am trying to get access the $scope.fstack so I thought I should add the MainController in. It is obvious I do not know what I am doing but if anyone has any thoughts that could help me out that would be awesome. 我试图访问$ scope.fstack,所以我想应该添加MainController。很明显,我不知道我在做什么,但是如果有人有什么想法可以帮助我,那将非常棒。 I need to get the value contained in the $scope.fstack
to this set key. 我需要获取$scope.fstack
包含的值到此设置键。
filepickerProvider.setKey('{{fstack}}');
I think you have to declare everything that you're injecting into the controller. 我认为您必须声明要注入控制器的所有内容。
Try app.controller('MainController', ['$scope', 'fstack', MainController]);
尝试app.controller('MainController', ['$scope', 'fstack', MainController]);
Define constant before controller. 在控制器之前定义常数。
angular.module("app")
.constant("fstack", "xxxxxxxxxxxxxx");
app.controller('MainController', MainController);
function MainController($scope, fstack) {
$scope.fstack = fstack;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.