角度模块:加载顺序

时间:2014-06-01 17:57:12

标签: javascript angularjs

我在官方的angularjs文件中说明了

angular.module('foo', [])定义了foo模块和

angular.module('foo')正在调用(不是制作)foo模块。

但是当我编写下面的代码时,我无法启动我的应用程序,

应用程序/控制器/ file1.js var app = angular.module('app.controller', []); 应用程序/控制器/ file2.js var app = angular.module('app.controller');

并且,当我只改变这两个声明时它起作用了:

应用程序/控制器/ file1.js var app = angular.module('app.controller'); 应用程序/控制器/ file2.js var app = angular.module('app.controller', []);

所以...我想知道

  • 如何决定加载模块的顺序
  • 当我想在两个或多个文件上使用相同模块时,我该怎么办

感谢。

1 个答案:

答案 0 :(得分:2)

这非常简单:您必须创建模块才能才能使用它。

在控制器文件中创建它显然是一个坏主意;为此目的使用单独的文件,例如,您还可以在其中进行项目的全局配置(myModule.config())。在你的情况下:

/** In "app/controller.js" **/
angular.module('app.controller', []); // Creation of the module

/** In "app/controllers/file1.js" **/
/** In "app/controllers/file2.js" **/
angular.module('app.controller'); // Use of the (already existing) module

首先应调用文件app/controller.js。然后,其他文件的顺序无关紧要。