我遇到一个问题,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>
答案 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.
希望它对你有所帮助。
干杯