start may have application app angularjs

angularjs - may - ng bind angular js



ColocaciĆ³n de la directiva ng-app(html vs. body) (3)

Recientemente revisé el código para una aplicación web desarrollada con angular y descubrí que estaba escrita con la directiva ng-app="myModule" colocada en la etiqueta <body> . Cuando aprendo angular, solo lo he visto usar en la etiqueta <html> , como lo recomiendan los documentos angulares here , here , y en su tutorial .

Lo he explorado un poco por mi cuenta y he encontrado algunas preguntas, especialmente esta y otra similar, que tratan de cargar varios módulos para una página. Sin embargo, esta técnica es diferente de mi caso, ya que implica colocar ng-app en elementos dentro del cuerpo y usar el arranque manual para ejecutar dos aplicaciones angulares al mismo tiempo.

Por lo que puedo decir, no hay diferencia en el tiempo de ejecución entre una aplicación con ng-app en <html> o <body> . Tal como lo entiendo, ng-app designa la raíz de una aplicación angular, por lo que su ubicación en el <body> cortaría <head> fuera del alcance de angular, pero no puedo pensar en ninguna forma importante de que esto afecte las cosas. Entonces mi pregunta es: ¿Cuál es la diferencia técnica entre colocar ng-app en una de estas etiquetas en lugar de la otra?


¡AngularJS iniciará la primera aplicación ng que encuentre! Eso es. Si tiene más de una aplicación ng, solo procesará la primera. Si quiere arrancar cualquier otro elemento, use angular.bootstrap ()

El valor del atributo ng-app es un módulo que se ha creado usando:

angular.module("module_name", [])

Un módulo define cómo angular será bootstrapped porque no tenemos un método main () a diferencia de otros lenguajes de programación. Si el valor de ng-app está vacío, por defecto usa ''ng'', el módulo predeterminado.

Se dijo que era un poco más rápido porque angular procesará todos los elementos dentro del elemento donde estaba ng-app. Pero dudo ligeramente porque la diferencia apenas se notará, a menos que tengas un DOM muy voluminoso.

Si desea ejemplos aquí: http://noypi-linux.blogspot.com/2014/07/angularjs-tutorials-understanding.html


Estaba en un equipo que trabajaba en una aplicación heredada y me pareció mejor utilizar la etiqueta ng-app en un div que se usa como un contenedor para aislar el nuevo código del código heredado.

Descubrimos esto mientras trabajábamos en la aplicación que confiaba mucho en jqGrid y Dojo.

Cuando agregamos ng-app a la etiqueta principal, explotó el sitio, pero cuando utilizamos una envoltura, pudimos usar Angular sin problemas.


No hay gran diferencia en dónde pones ng-app .

Si lo pones en <body> entonces tienes un alcance menor para AngularJS, que es un poco más rápido.

Pero he usado ng-app en <html> para manipular el <title> .