Angular的新手,试图找出我应该如何modularize我的应用。
app
toolbar
toolbar.module.js
menu.html
index.html
search.html
sub-system-1
subSystem1.module.js
directive-template.html
sub-system-2
subSystem2.module.js
directive-template.html
例如,toolbar.module.js有3个指令(菜单,索引,搜索),每个指令都有自己的控制器,服务。所有控制器,指令定义和服务都在toolbar.module.js中定义......在维护代码方面有点令人困惑。
是否有可能提出更细粒度的设置,使得每个指令都包含在其控制器旁边的自己的文件中。服务?
我想我可以补充一下:
menu.directive.js
里面有像
这样的东西var module = angular('toolbar.menu.directive',[]);
module.directives(...);//add menu directive to the module
然后在toolbar.modules里面有类似的东西:
var module = angular('toolbar',[toolbar.menu.directive]);
这是我通过定义大量细粒度模块来实现这一目标的唯一方法吗?
答案 0 :(得分:1)
不,你不必定义大量的小模块。在Angular中,您可以通过省略第二个参数来引用现有模块:
angular.module('moduleName');
通过执行此操作,您可以将各种工具栏指令,控制器和服务拆分为单独的文件,并在每个文件中简单地引用工具栏模块,如下所示:
angular.module('toolbar')
.controller('MenuCtrl', function() {
// ...
});