0

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

2 回答 2

2

检查差异。2013 年对比 2014 年。

<html ng-app="wc2013mongoMod">

var myApp = angular.module('wc2014mongoMod',[]);
于 2014-04-16T01:05:25.610 回答
2

鉴于这两行,您应该发现错误:

<html ng-app="wc2013mongoMod">

..

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

wc2013mongoMod !== wc2014mongoMod

于 2014-04-16T01:05:49.793 回答