我使用Yeoman搭建了一个简单的Angular应用程序,从那时起我一直在玩它。
在文件app.js
内,这是<script>
中列为index.html
的第一个文件,我将主模块定义为:
angular.module('myMod', [])
.config(...)
请注意空数组的依赖项。
现在,当我想要为此模块添加过滤器时,我创建了一个myFilter.js
文件(我在<{em> app.js
index.html
内加载 }); myFilter.js
包含:
angular.module('myMod').filter(...)
注意module()
函数只有一个参数。如果我将空的依赖关系数组作为参数传递给此 module()
函数,屏幕上什么也没有显示。
我一直在玩一堆其他文件,这些文件使用控制器扩展myMod
,并且[]
作为参数传递给angular.module()
函数每次都会破坏我的应用。
在我看来,我只能使用第二个参数调用angular.module()
,这可能有一定道理(我想列出我的依赖项多少次?一致性怎么样?)。是这样吗?
如果是,是否有一些标准位置可以列出模块的依赖关系?
答案 0 :(得分:4)
angular.module(“myModule”,[“dependencyA”])将创建一个新模块(如果模块已经存在,这将崩溃。) angular.module(“myModule”)使用已知的模块。
这也会影响您在index.html中加载脚本的方式
答案 1 :(得分:2)
您应该只声明一次依赖项。此外,最佳做法是将所有过滤器保留为应用所依赖的单独模块,例如:
var myApp = angular.module('myApp', ['myApp.filters', 'myApp.directives', 'myApp.someOtherDependency']);
然后,您可以将过滤器定义为您的应用依赖的模块:
angular.module('myApp.filters', []).filter(...)