假设我们有几十个角度指令形式的"通用"实用程序,比如这个用于忽略0-9以外的键入字符的实用程序。
我们如何设置一个包含这些指令的文件,以便在任何角度模块中都能轻松地包含它们,以及我们如何包含它们?
我们只是创建一个模块Foo
来保存这些指令吗
var FOO = angular.module('Foo', []);
FOO.directive('stripExcessWhiteSpace', function() {
return {
<snip>
}
});
然后将该模块包含在我们当前的应用程序中?该文件的名称必须是Foo.js
吗?该文件是否必须与我们当前应用程序的文件位于同一文件夹中?
var app = angular.Module('Customers', ['Foo']);
还是还有更多?
是的,你为它创建了一个模块。你将指令的代码放在一个JS文件中,该文件必须像任何其他JS文件一样包含在应用程序的HTML文件中。JS文件名没有任何重要性。重要的是模块的名称。
由于该模块应该是可重复使用的,因此您应该选择一个与应用程序可能已经选择的模块(如"控制器"或"服务")冲突的可能性非常低的名称。在模块名称前面加一个字符串来标识您自己或您的公司是个好主意:
angular.module('myCompany.utils')