Estoy tratando de agregar dos aplicaciones / módulos angulares a una página. En los violines a continuación, puede ver que siempre solo el primer módulo, al que se hace referencia en el código html, funcionará correctamente, mientras que el segundo no es reconocido por angular.
En este violín solo podemos ejecutar el doSearch2
método, mientras que en este violín solo el doSearch
método funciona correctamente.
Estoy buscando la forma de colocar correctamente dos módulos angulares en una página.
fuente
ng-app="project"
y dice que "esto le permite tener módulos que se ejecutan en diferentes partes de la página", pero el documento ngApp establece que "solo se puede usar una directiva por documento HTML".ng-app
(porque no funcionará).ng-app
solo se puede utilizar una vez por documento HTML. En realidad, es solo un atajo si solo tiene una aplicación en la página, que es el caso normal.Creé una directiva alternativa que no tiene
ngApp
limitaciones. Se llamangModule
. Así es como se vería su código cuando lo usa:Puede obtener el código fuente en:
http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/
Es esencialmente el mismo código utilizado internamente por AngularJS sin las limitaciones.
fuente
¿Por qué desea utilizar varias [ng-app]? Dado que Angular se reanuda mediante el uso de módulos, puede usar una aplicación que use múltiples dependencias.
Javascript:
HTML:
EDITAR
Tenga en cuenta que si desea usar el controlador dentro del controlador, debe usar la sintaxis controllerAs, así:
fuente
Puede arrancar múltiples aplicaciones angulares, pero:
1) Necesita arrancarlos manualmente
2) No debe usar "documento" como raíz, sino el nodo donde está contenida la interfaz angular para:
Esto sería seguro.
fuente
El arranque manual de ambos módulos funcionará. Mira este
Aquí está el enlace al Plunker http://plnkr.co/edit/1SdZ4QpPfuHtdBjTKJIu?p=preview
NOTA: En html, no hay
ng-app
.id
se ha utilizado en su lugar.fuente
Hice un POC para una aplicación Angular usando múltiples módulos y salidas de enrutador para anidar aplicaciones secundarias en una aplicación de una sola página. Puede obtener el código fuente en: https://github.com/AhmedBahet/ng-sub-apps
Espero que esto ayude
fuente