这个问题可能看起来很奇怪。但我喜欢将我的应用程序整理到文件夹中,其中的指令属于'指令'文件夹,控制器和控制器'文件夹等....
在我见过的所有例子中,指令都是这样声明的:
var app = angular.module('myModule').
directives('myDirective', function(){
});
我想要的是在一个单独的文件中声明myDirective(它不应该知道app变量。 然后当我创建myModule时,我想将它指定为myDirective。
我该怎么做?
答案 0 :(得分:9)
我这样做的方法是创建一个指令模块,然后将其注入我的应用程序:
<强>指令强>
angular.module('app.directives', []).directive(...).directive(...)
应用强>
angular.module('myApp',['app.directives'])
你可以为服务,过滤器等做同样的事情......
答案 1 :(得分:0)
您不需要使用app变量来定义指令,它只是一个快捷方式,因此您每次要在模块中定义某些内容时都不必编写angular.module('myModule')
。在带有指令的文件中,只需定义如下指令:
angular.module('myModule').directive('myDirective',function(){ ... });
此指令将成为myModule
的一部分。看看Yeoman如何生成指令和控制器以获取更多详细信息。或者您可以查看使用不同方法的Angular-seed应用程序模板,但想法是一样的。