Javascript nggrid-错误:[$injector:unpr]未知提供程序:GridServiceProvider<;-网格服务<;-家庭控制器
目前我正在学习ng网格教程 当我执行所有步骤时,它在控制台中显示以下错误Javascript nggrid-错误:[$injector:unpr]未知提供程序:GridServiceProvider<;-网格服务<;-家庭控制器,javascript,angularjs,Javascript,Angularjs,目前我正在学习ng网格教程 当我执行所有步骤时,它在控制台中显示以下错误 Error: [$injector:unpr] Unknown provider: gridServiceProvider <- gridService <- homeController http://errors.angularjs.org/1.3.8/$injector/unpr?p0=gridServiceProvider%20%3C-%20gridService%20%3C-%20homeContr
Error: [$injector:unpr] Unknown provider: gridServiceProvider <- gridService <- homeController
http://errors.angularjs.org/1.3.8/$injector/unpr?p0=gridServiceProvider%20%3C-%20gridService%20%3C-%20homeController
at http://localhost:9000/js/libs.min.js:9269:12
at http://localhost:9000/js/libs.min.js:13200:19
at Object.getService [as get] (http://localhost:9000/js/libs.min.js:13347:39)
at http://localhost:9000/js/libs.min.js:13205:45
at getService (http://localhost:9000/js/libs.min.js:13347:39)
at invoke (http://localhost:9000/js/libs.min.js:13379:13)
at Object.instantiate (http://localhost:9000/js/libs.min.js:13396:27)
at http://localhost:9000/js/libs.min.js:17655:28
at link (http://localhost:9000/js/libs.min.js:39064:26)
at invokeLinkFn (http://localhost:9000/js/libs.min.js:17419:9) <div ng-view="" class="ng-scope">libs.min.js:20800
(anonymous function)libs.min.js:17750
(anonymous function)libs.min.js:17421
invokeLinkFn libs.min.js:16928
nodeLinkFn libs.min.js:16281
compositeLinkFn libs.min.js:16160
publicLinkFn libs.min.js:16299
boundTranscludeFn libs.min.js:16955
controllersBoundTransclude libs.min.js:39022
update libs.min.js:23908
Scope.$broadcast libs.min.js:38705
(anonymous function)libs.min.js:22376
processQueuelibs.min.js:22392
(anonymous function)libs.min.js:23589
Scope.$evallibs.min.js:23405
Scope.$digestlibs.min.js:23694
Scope.$applylibs.min.js:18852
donelibs.min.js:19042
completeRequestlibs.min.js:18983 requestLoaded
homeController.js是
angular.module('angularGruntSeed')
.controller('HomeController', ['$scope', 'GridService',
function($scope, gridService) {
gridService.getContributors().then(function(data) {
$scope.myData = data;
});
$scope.gridOptions = {
data: 'myData'
};
}
]);
app.js
'use strict';
// Declare core application module which pulls all the components together
angular.module('angularGruntSeed', [
'ngAnimate',
'ngRoute',
'ngSanitize',
'ngTouch',
'ngGrid',
]);
app-routes.js
'use strict';
angular.module('angularGruntSeed')
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/', {
templateUrl: '/templates/home.html',
controller: 'homeController'
})
.otherwise({ redirectTo: '/' });
}]);
<!doctype html>
<html lang="en" ng-app="angularGruntSeed">
<head>
<title>Angular Grunt Seed Project</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap core CSS -->
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
<link href="../bower_components/ng-grid/ng-grid.css" rel="stylesheet">
<link href="css/starter-template.css" rel="stylesheet">
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Angular Seed</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a>
</li>
<li><a href="#about">About</a>
</li>
<li><a href="#contact">Contact</a>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</div>
<div ng-view></div>
<!-- build:js js/libs.min.js -->
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/angular-animate/angular-animate.js"></script>
<script src="../bower_components/angular-resource/angular-resource.js"></script>
<script src="../bower_components/angular-route/angular-route.js"></script>
<script src="../bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="../bower_components/angular-touch/angular-touch.js"></script>
<script src="../bower_components/fastclick/lib/fastclick.js"></script>
<script src="../bower_components/ng-grid/ng-grid-2.0.14.debug.js"></script>>
<!-- endbuild -->
<!-- build:js js/app.min.js -->
<script src="js/app.js"></script>
<script src="js/app-routes.js"></script>
<script src="js/homeController.js"></script>
<!-- endbuild -->
</body>
</html>
“严格使用”;
angular.module('angularGruntSeed')
.config(['$routeProvider',函数($routeProvider){
$routeProvider.when(“/”{
templateUrl:“/templates/home.html”,
控制器:“homeController”
})
。否则({重定向到:'/'});
}]);
角形咕噜种子项目
切换导航
-
-
-
>
将HomeController、js放在其他js文件之前:
<!-- build:js js/app.min.js -->
<script src="js/app.js"></script>
<script src="js/gridService.js"></script>
<script src="js/homeController.js"></script>
<script src="js/app-routes.js"></script>
订单很重要,它找不到控制器,因为它尚未声明。typo
gridService
=>gridService
@charlietfl这与您如何命名无关,重要的是它是数组中的'gridService'
。发布其余代码、模块定义。@MatthewGreen如果提供了数组,则将最后一个元素作为控制器函数,并将其余参数注入其中。因此,第二个参数将是GridService
,您可以在controller中随意命名它。根据问题中的代码,它应该可以正常工作,但您是否意外地在homecontroller.js和GridService.js之间包含的任何其他文件中重新创建了该模块?尝试自己复制问题,包括最少的文件,例如:-app.js、homecontroller.js和gridservice.js
<!-- build:js js/app.min.js -->
<script src="js/app.js"></script>
<script src="js/gridService.js"></script>
<script src="js/homeController.js"></script>
<script src="js/app-routes.js"></script>