3

这个问题可能看起来很奇怪。但我喜欢将我的应用程序组织在文件夹中,指令位于“指令”文件夹中,控制器位于“控制器”文件夹中,等等......

在我见过的所有示例中,指令都是这样声明的:

var app = angular.module('myModule').
directives('myDirective', function(){

}); 

我想要的是在一个单独的文件中声明 myDirective(它不应该知道 app 变量。然后当我创建 myModule 时,我想将它分配给 myDirective。

我怎么做 ?

4

2 回答 2

9

我这样做的方法是创建一个指令模块,然后将其注入我的应用程序:

指示

angular.module('app.directives', []).directive(...).directive(...)

应用程序

angular.module('myApp',['app.directives'])

您可以对服务、过滤器等执行相同的操作...

于 2013-04-15T16:48:54.223 回答
0

您不需要使用 app 变量来定义指令,它只是一个快捷方式,因此您不必angular.module('myModule')每次想要在模块中定义某些内容时都编写。在带有指令的文件中,只需像这样定义指令:

   angular.module('myModule').directive('myDirective',function(){ ... });

该指令将成为myModule. 查看Yeoman如何生成指令和控制器以了解更多详细信息。或者您可以查看使用不同方法的Angular-seed应用程序模板,但想法是相同的。

于 2013-04-14T18:33:17.863 回答