我在角度js中得到这样的错误Uncaught Error:[$ injector:modulerr]

时间:2016-07-29 19:13:02

标签: javascript angularjs

我遇到一个问题,Angular JS收到错误:未捕获错误:[$ injector:modulerr]。我的JS文件看起来

这是我的app js

var app = angular.module(' myApp', ['ngRoute']);
app.config(["$routeProvider", function($routeProvider) {
$routeProvider

.state('home', {
    url: '/home',
    abstract: true,
    templateUrl: 'templates/home.html',
    controller: 'homeCtrl'
    });
otherwise('/home');
}]);

这是我的索引页

 <div ng-app="myApp">
  <div ng-view></div>
 </div>

 <script src="js/angular.min.js"></script>
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>
 <script type="text/javascript" src="lib/controller.js"></script>
 <script type="text/javascript" src="lib/app.js"></script>
 <script type="text/javascript" src="lib/directives.js"></script>

这是我的控制器js

  var app = angular.module('myApp',[]);                                  
  app.controller('homeCtrl', function($scope) 
  {
        $scope.names = [{nickname:'n',fullname:'nakama'}];
  });

这是我的主页

 <div>
 <ul>
  <li ng-repeat="x in names">
     {{x.nickname + '<-means->' + x.fullname}}
  </li>
 </ul>
 </div>

3 个答案:

答案 0 :(得分:1)

app.js

之前加载controller.js
 <script src="js/angular.min.js"></script>
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>
 <!--Load this first-->
 <script type="text/javascript" src="lib/app.js"></script>
 <script type="text/javascript" src="lib/controller.js"></script>
 <script type="text/javascript" src="lib/directives.js"></script>

答案 1 :(得分:0)

在你的控制器js中

var app = angular.module('myApp',[]); 

这意味着你想要开始一个新模块。 将其更改为

var app = angular.module('myApp'); 

注意,[]已被删除;

这种方式返回现有的myApp模块

此外:

在你的html中的controller.js之前移动app.js

答案 2 :(得分:0)

您需要在app.js

之前加载controller.js

和Inside控制器文件,不要再次实例化同一模块

var app = angular.module('myApp',[]); // remove [] from here.

希望它对你有所帮助。

干杯