javascript - saber - Significado de la matriz vacía en la declaración del módulo angularJS
foreach javascript (3)
Ese conjunto está destinado a agregar varios módulos a su
app
actual, que se menciona en la primera parte deangular.module
como cadena`, simplemente podría decir para inyectar varias dependencias.
Puede crear un número n
de módulos dentro de su aplicación para cada componente de angular
y luego puede combinarlos en una sola aplicación y puede angular.bootstrap
o aplicarlo en la página usando la directiva ng-app
.
Ejemplo
Supongamos que tiene una aplicación que tiene diferentes componentes, como servicios, fábrica, filtros, directivas, etc. Puede crear un módulo para cada uno de ellos. Solo por hacer separación de preocupación.
angular.module(''myApp.filters'', [])
angular.module(''myApp.services'', [])
angular.module(''myApp.controllers'', [])
angular.module(''myApp.directives'', [])
angular.module(''myApp.constants'', [])
Y al agregarle un componente, simplemente podría usar ese módulo específico. Al igual que quería agregar el servicio, simplemente agrega ese servicio a myApp.services
haciendo
angular.module(''myApp.services'').service(''example'', function(){
})
Y luego dentro de tu app.js podrías combinar todos estos módulos en un solo módulo como el que se muestra a continuación.
angular.module(''myApp'', [
''myApp.services'',
''myApp.controllers'',
''myApp.directives'',
''myApp.directives'',
''myApp.constants''
])
Al inicializar una aplicación, simplemente podría usar myApp
interior, que pondría a su disposición todo el otro módulo.
¿Para qué se usa la matriz vacía?
En su código está creando un módulo que no inyecta ninguna dependencia, []
que significa que es independiente de cualquier otro módulo angular
.
La dependencia inyectada dentro del
[]
no es más que un módulo de importación
En mi pregunta anterior , entiendo que el código var app = angular.module(''myApp'', []);
conecta la app
del módulo a la vista myApp
.
Me gustaría saber por qué tenemos la matriz vacía []
en la declaración del módulo.
¿Para qué se usa la matriz vacía?
Angulars API dice Passing one argument retrieves an existing angular.Module, whereas passing more than one argument creates a new angular.Module
https://docs.angularjs.org/api/ng/function/angular.module
angular.module(''app'', [])
es crear un nuevo módulo sin ninguna dependencia de módulo.
angular.module(''app'')
es para recuperar un módulo existente cuyo nombre es app
.