angular.module:第二个参数是做什么的?

时间:2016-03-29 19:24:06

标签: angularjs dependency-management

要引用Angular 1.4中的现有模块,我这样做:

angular.module('hotdog')

我可以像这样向模块添加内容:

angular.module('hotdog').factory(...).component(...)

要首先创建模块,模块函数需要依赖模块的第二个参数。

angular.module('hotdog', ['sausage', 'bun'])

我的问题是,这个依赖关系列表实际上做了什么,如果有的话?我可以取出依赖项并且它不会似乎来破坏任何东西,即使我在'hotdog'模块中引用属于'sausage'和'bun'的服务。

angular.module('hotdog', [])

documentation不是很有帮助。

  

“如果已指定,则正在创建新模块。如果未指定,则检索模块以进行进一步配置。”

我找到了similar question,但我对答案不满意。

1 个答案:

答案 0 :(得分:2)

第二个参数是依赖注入。您可能会发现this文档更有帮助。

  

模块可以将其他模块列为其依赖项。根据模块的不同,需要在加载需求模块之前加载所需的模块。换句话说,所需模块的配置块在需求模块的配置块之前执行。运行块也是如此。即使多个其他模块需要,每个模块也只能加载一次。

如果声明依赖项或将第二个参数保留为空块[],则表示您正在声明模块的新实例。如果将其完全关闭,则表示您正在引用现有模块。

  

请注意,使用angular.module(' myModule',[])将创建模块myModule并覆盖任何名为myModule的现有模块。使用angular.module(' myModule')来检索现有模块。