我在官方的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', []);
所以...我想知道
感谢。
答案 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
。然后,其他文件的顺序无关紧要。