【问题标题】:In angularJS, having trouble instantiating main module在 angularJS 中,无法实例化主模块
【发布时间】:2016-08-04 17:17:13
【问题描述】:

每次我尝试注入依赖项时,都会收到此错误:

未捕获的错误:[$injector:modulerr] 无法实例化模块 marbleApp,原因是: 错误:[$injector:modulerr] 无法实例化模块 ngRoute,原因是: 错误:[$injector:nomod] 模块“ngRoute”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

我从这个开始,我的代码运行良好:

var app = angular.module("marbleApp", []);

但是当我尝试注入这样的依赖项时,出现上述错误...

var app = angular.module("marbleApp", ["ngRoute"]);

对为什么会发生这种情况有什么想法吗?

【问题讨论】:

  • 您的 HTML 中是否包含 angular-route.js
  • 哇,好蠢!谢谢,解决了!

标签: angularjs dependency-injection


【解决方案1】:

请记住,当您想要注入一些依赖项时,您必须检查两件事:

第一:

    var myModule = angular.module('myModule', [
        'myDependency',
        'mySecondDependency'
]);

第二:

    myModule.config(['myDependency', 'mySecondDependency',
        function(myDependency, mySecondDependency) {
    //here you can use injected stuff
    }
]);

干杯!

【讨论】:

    【解决方案2】:

    你安装了 angular-route 吗?

    $ bower install angular-route
    

    如果您也想更新 bower.json:

    $ bower install angular-route --save
    

    更多,正如@ddepablo 的评论所暗示的,请仔细检查您是否已将其添加到您的index.html 文件中:

    <script src="angular-route.js">
    

    (见https://docs.angularjs.org/api/ngRoute

    【讨论】:

      猜你喜欢
      • 2014-05-30
      • 2014-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多