多个模块加载错误

时间:2014-05-20 23:04:47

标签: angularjs

我的应用程序中有几个模块,每个模块定义在单独的js文件中:

angular.module('app', ['app.module1']);

angular.module('app.module1', ['app.module1.module2']);

angular.module('app.module1.module2', []);

然后我想为最后一个模块创建控制器:

angular.module('app.module1.module2').controller('myController', function(){});

在这种情况下,我有错误

Module 'app.module1.module2' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

可以解释问题的位置吗?对不起新手问题。 注意:其中的每个定义都有自己的js文件。

1 个答案:

答案 0 :(得分:1)

您无法在创建模块之前使用模块,因此您必须小心按顺序加载,先加载模块定义,然后在模块定义文件后加载的文件中重新打开模块。

然而,每个文件坚持一个模块更有意义。这样你就不必关心模块的声明顺序了。

所以你可以写一些东西:

angular.module('app.module1.module2.controllers',[])
.controller('myController', function(){});

然后

angular.module('app.module1.module2', ['app.module1.module2.controllers']);

即使您在app.module1.module2之后加载app.module1.module2.controllers也可以。