AngularJS未捕获错误:[$ injector:modulerr] - noob here

问题描述:

我没有使用ngRoute或任何需要注入的Angular服务。我正在注入我自己的模块和控制器,我认为需要。但还是收到以下错误控制台:

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.7/$injector/modulerr?p0=try&p1=Error%3A%20%…2015%2520experiments%2Fangulartrial%2Fjs%2Flib%2Fangular.min.js%3A21%3A163) 
at angular.min.js:6 
at angular.min.js:40 
at r (angular.min.js:7) 
at g (angular.min.js:39) 
at db (angular.min.js:43) 
at c (angular.min.js:20) 
at Bc (angular.min.js:21) 
at ge (angular.min.js:19) 
at angular.min.js:315 
at HTMLDocument.b (angular.min.js:189) 

代码: 的Index.html:

<html ng-app="try" lang="En"> 
<head> 
    <title>Learn Angular 1.5</title> 
    <!-- <script src="./js/lib/jquery-3.1.0.min.js" charset="utf-8"></script> --> 
    <script src='./js/lib/angular.min.js'></script> 
    <script src='app.js'></script> 
    <script src='./js/app/blog-list.module.js'></script> 
    <script src='./js/app/blog-list.component.js'></script> 

</head> 
<body> 
    <div class='' ng-controller = 'BlogListController'> 
    </div> 
</body> 
</html> 

app.js:

angular.module ('try', ['blogList']) 
    //This works when I declare the controller right here 
    // .controller('BlogListController', function(){ 
    // console.log("Hello"); 
    // }) 

博客,list.module.js

'use strict'; 
//simply declare the module here 
angular.module('blogList', [ 
    //inject dependencies 
    'BlogListController' 
    ]); 

blog-l ist.component.js

//declare the controllers, components etc on the module here 
angular.module('blogList') 
    .controller('BlogListController', function(){ 
     console.log("Hello"); 
    }); 
+1

不会注入'BlogListController'控制器作为依赖关系..将其从'blogList'模块中移除将解决问题 –

+0

您应该从'blogList'中删除'BlogListController' –

问题是这里BlogListController作为depdendency,

angular.module('blogList', [ 
    //inject dependencies 
    'BlogListController' 
    ]); 

更改它,

angular.module('blogList', []); 

从依赖

这是因为删除BlogListController你的HTML没有使用'blogList'模块。将其更改为:

<html ng-app="blogList" lang="En"> 
... 
</html> 

此外,您在声明模块时不注入'BlogListController'。该阵列用于依赖注入您新创建的模块需要运行的外部模块

(例如:ngRoute是一个非常流行的模块,它不是'开箱即用'并且必须通过依赖注入来包含)

+0

index.html页面正在使用' blogList'模块,作为'try'模块的依赖。但+1指出问题出在将控制器注入已经声明它的模块中。 – PakiPat