我的应用程序中有几个模块,每个模块定义在单独的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文件。
答案 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
也可以。