AngularJS无法实例化模块

时间:2014-04-16 01:01:27

标签: javascript angularjs express angularjs-module

出于某种原因,我的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;
        });
});

2 个答案:

答案 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