trabajar salir noche malo frio dormir despues despertar bañarse antes javascript angularjs

javascript - salir - ¿Por qué ng-app no ng-module?



es malo bañarse despues de dormir (3)

No creo que Craig esté preguntando qué hace ng-app o cómo funciona.

Creo que está preguntando por qué las personas que crearon el nombre angular de la directiva ng-app . ¿Por qué no lo ng-module ? ng-module sería más fácil de entender.

Por ejemplo, ng-controller debería nombrar un controlador, ng-module debería nombrar un módulo. Los métodos angular para crearlos se denominan module() y controller() , no hay ningún método o entidad llamada "aplicación".

Tiendo a estar de acuerdo con Craig. Dicho esto, si fuera a especular por qué la llamaron ng-app , pensaría que es porque solo se le permite tener una directiva ng-app en su HTML. Si desea tener más de un módulo asociado con su página HTML, puede hacerlo mediante programación.

Entonces ng-app es más una utilidad para arrancar su HTML con un módulo, no es una forma genérica de asociar módulos con su HTML.

Si miras la documentación eso es lo que sugiere:

Utilice esta directiva para iniciar automáticamente una aplicación AngularJS. La directiva ngApp designa el elemento raíz de la aplicación y generalmente se coloca cerca del elemento raíz de la página, por ejemplo, en las etiquetas o.

Solo una aplicación de AngularJS se puede reiniciar automáticamente por documento HTML. La primera ngApp encontrada en el documento se usará para definir el elemento raíz para auto-bootstrap como una aplicación. Para ejecutar varias aplicaciones en un documento HTML, debe iniciarlas manualmente usando angular.bootstrap en su lugar. Las aplicaciones AngularJS no pueden ser anidadas una dentro de la otra.

http://docs.angularjs.org/api/ng/directive/ngApp

Dicho todo esto, si desea una directiva ng-module , siempre puede escribir la suya para ajustar la función angular.bootstrap() . Puede encontrar más detalles y código sobre cómo hacer esto en una publicación del blog que escribí al respecto: simplygoodcode.com/2014/04/…

Entiendo que ng-app inicializa un módulo en AngularJS de la siguiente manera:

var app = angular.module(''myApp'', []); <html ng-app="myApp">

Pero cuando le enseño esto a alguien nuevo en AngularJS o miro un video, los instructores inevitablemente se vuelven locos por la inconsistencia en la terminología entre la aplicación y el módulo. AngularJS está tan bien pensado como un marco que me sorprende que no haya cambiado a:

var app = angular.app(''myApp'', []); <html ng-app="myApp">

O

var app = angular.module(''myModule'', []); <html ng-module="myModule">

¿Alguien ha estado siguiendo el proyecto el tiempo suficiente para conocer la historia en esta parte del marco?


ng-app define el módulo main o bootstrap de su aplicación, que debe realizar la tarea de inicialización de su aplicación. Puede haber un caso en el que, en el tiempo de ejecución, desee decidir cuál debe ser el módulo principal de su aplicación. Como en Java, tiene muchos métodos y clases, pero define un método main como punto de partida. De manera similar, en angular tiene muchos módulos, sin embargo, define un módulo como el punto de inicio de la aplicación.


ng-app significa: ¡Esa página tiene Angular en ella!

ng-app="module" significa: esa página tiene Angular y los controles / servicios / etc necesarios están definidos en ese módulo.