出于某种原因,我的angularjs模块未正确加载。我对此很陌生,我已经阅读了很多教程,但我似乎无法使用它。
[17:22:36.338]错误:[$ injector:modulerr]无法实例化模块wc2013mongoMod,原因如下: [$ injector:nomod]模块'wc2013mongoMod'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
我找到了这个问题,这似乎是对我的问题的非常详细的描述:AngularJS: Uncaught Error: [$injector:modulerr] Failed to instantiate module?
它建议重新安排脚本的包含顺序。我试图把脚本放在身体的尽头,没有运气。我也尝试将它们放在<head>
元素中,但仍然没有运气。我在这里做错了什么?
我正在使用Jade,但生成的HTML看起来像这样:
<!DOCTYPE html>
<html ng-app="wc2013mongoMod">
<head>
<title>World Cup 2014 MongoDB Experiment Project</title>
<link rel="stylesheet" href="/stylesheets/style.css">
<script src="js/angular/angular.js"></script><script src="js/main.js"></script>
</head>
<body>
<h1>World Cup 2014 MongoDB Experiment Project</h1>
<p>Welcome to World Cup 2014 MongoDB Experiment Project</p>
<div ng-controller="teamCtrl">
<p>Angular JS Controller</p>
</div>
</body>
</html>
javascript看起来像这样:
console.log("loaded main.js");
var myApp = angular.module('wc2014mongoMod',[]);
myApp.service('teamService', function($http) {
//delete $http.defaults.headers.common['X-Requested-With'];
this.getData = function(callbackFunc) {
$http({
method: 'GET',
url: '/api'
//params: 'limit=10, sort_by=created:desc',
//headers: {'Authorization': 'Token token=xxxxYYYYZzzz'}
}).success(function(data){
// With the data succesfully returned, call our callback
//callbackFunc(data);
console.log("data received");
console.log(data);
}).error(function(){
alert("error");
});
}
});
myApp.controller('teamCtrl', function($scope, teamService) {
$scope.data = null;
console.log("we're in the controller");
teamService.getData(function(dataResponse) {
$scope.data = dataResponse;
});
});
答案 0 :(得分:2)
检查区别。 2013年与2014年相比。
<html ng-app="wc2013mongoMod">
和
var myApp = angular.module('wc2014mongoMod',[]);
答案 1 :(得分:2)
你应该发现这两行的错误:
<html ng-app="wc2013mongoMod">
...
var myApp = angular.module('wc2014mongoMod',[]);
wc2013mongoMod!== wc2014mongoMod