Javascript angularJS模块声明中空数组的含义

Javascript angularJS模块声明中空数组的含义,javascript,angularjs,dependency-injection,module,angularjs-module,Javascript,Angularjs,Dependency Injection,Module,Angularjs Module,在我的示例中,我理解代码var-app=angular.module('myApp',[])将模块app连接到视图myApp 我想知道为什么我们在模块声明中使用空数组[] 空数组用于什么 该阵列用于将各种模块添加到当前的应用程序中 在angular.module的第一部分中提到的字符串,您可以 比如说注入各种依赖关系 您可以在应用程序中为angular的每个组件创建一个n数量的模块,然后您可以将它们组合到一个应用程序中,您可以angular.bootstrap或使用ng-app指令在页面上应用它

在我的示例中,我理解代码
var-app=angular.module('myApp',[])将模块
app
连接到视图
myApp

我想知道为什么我们在模块声明中使用空数组
[]

空数组用于什么

该阵列用于将各种模块添加到当前的
应用程序中
在
angular.module
的第一部分中提到的字符串,您可以 比如说注入各种依赖关系

您可以在应用程序中为
angular
的每个组件创建一个
n
数量的模块,然后您可以将它们组合到一个应用程序中,您可以
angular.bootstrap
或使用
ng-app
指令在页面上应用它

示例

假设您有一个应用程序,它有不同的组件,如服务、工厂、过滤器、指令等。您可以为每个组件创建一个模块。只是为了分离关注

angular.module('myApp.filters', [])
angular.module('myApp.services', [])
angular.module('myApp.controllers', [])
angular.module('myApp.directives', [])
angular.module('myApp.constants', [])
在附加组件时,您可以简单地使用它的特定模块。就像您想添加服务一样,您只需通过执行以下操作将该服务添加到
myApp.services

angular.module('myApp.services').service('example', function(){

})
然后在app.js中,您可以将所有这些模块组合到一个模块中,如下所示

angular.module('myApp', [
     'myApp.services', 
     'myApp.controllers', 
     'myApp.directives', 
     'myApp.directives', 
     'myApp.constants'
])
在初始化应用程序时,您只需在内部使用
myApp
,即可使用所有其他模块

空数组用于什么

在您的代码中,您正在创建一个不注入任何依赖项的模块,
[]
,这意味着它独立于任何其他
模块

[]
中注入的依赖项只不过是导入模块

angular.module('app',[])
是创建一个没有任何模块依赖关系的新模块


angular.module('app')
用于检索名为
app

Angulars的现有模块。Angulars API说
传递一个参数将检索现有的angular.module,而传递多个参数将创建一个新的angular.module

不需要多少,这就是答案。