He comenzado a aprender sobre AngularJS y estoy confundido acerca de cuáles son las diferencias entre las directivas ng-app
y data-ng-app
.
angularjs
angularjs-directive
usuario1876508
fuente
fuente
Respuestas:
La mayoría de estas respuestas simplemente dicen que HTML de plantilla es válido o que cumple con el Validador de HTML , sin explicar tampoco lo que significan ESOS términos.
No estoy seguro, pero supongo que estos términos se aplican a los programas de validación HTML que escanean su código para cumplir con los estándares, algo así como pelusa. No se reconocen
ng-app
como un atributo válido. Esperan que los atributos HTML no predeterminados sean precedidos pordata-attribute_name_here
.Por lo tanto, los creadores de
AngularJS
han creado nombres alternativos para sus directivas que incluyen eldata-
frente de ellos para que los programas de validación HTML "les gusten".fuente
Ninguno en términos del comportamiento de tiempo de ejecución, esos son solo diferentes estilos de directivas de nombres como se describe aquí: http://docs.angularjs.org/guide/directive
Como puede ver al leer esto,
data-
puede usarse para hacer que su HTML pase las pruebas de validación de HTML /fuente
Puedes declarar el espacio de nombres angular
<html xmlns:ng="http://angularjs.org" ng-app>
fuente
En los navegadores modernos no hay diferencia, pero en los IE más antiguos, no funcionarán a menos que declare un espacio de nombres XML que lo defina.
También hay una diferencia de validación en que
ng-app
no es XHTML válido, y hará que su página web falle en las validaciones HTML. Angular le permite prefijar sus directivas condata-
ox-
permitirle validar.fuente
Puede usar data-ng-, en lugar de ng-, si desea que su página HTML sea válida.
Esto se generará un error
Esto no arrojará un error
fuente
La diferencia básica entre estos dos términos es que data-ng-app valida el HTML mientras que el último no. La funcionalidad sigue siendo la misma. Para más referencia puede probar w3Validator.
fuente
Absolutamente no hay diferencia entre los dos, excepto que ciertos validadores HTML5 arrojarán un error en una propiedad como ng-app, pero no arrojan un error para cualquier cosa con el prefijo data-, como data-ng-app. Por lo tanto, usar el prefijo de datos con nuestras directivas angulares es bueno.
Incluso puede usar las directivas angulares de las formas mencionadas a continuación ng-bind, ng: bind, ng_bind, data-ng-bind, x-ng-bind
fuente