Actualmente estoy viendo este video tutorial de inicio paraangular.js
En algún momento (después de 12'40" ), los estados de altavoces que los atributos ng-app
y data-ng-app=""
son más o menos equivalentes dentro de la <html>
etiqueta, y también lo son ng-model="my_data_binding
y data-ng-model="my_data_binding"
. Sin embargo, el orador dice el html se validó a través de diferentes validadores, dependiendo de qué atributo es usado.
¿Podría explicar la diferencia entre las dos formas, ng-
prefijo contra data-ng-
prefijo?
Respuestas:
Buena pregunta. La diferencia es simple: no hay absolutamente ninguna 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 nada con el prefijodata-
, comodata-ng-app
.Entonces, para responder a su pregunta, use
data-ng-app
si desea validar su HTML para que sea un poco más fácil.Dato curioso: también puedes usarlo
x-ng-app
para el mismo efecto.fuente
data-
yx-
. ¿Por qué no se pueden cambiar las reglas de validación HTML para aceptarng-
cosas?data-*
atributos son la forma de extender HTML .De la documentación de Angularjs
basado en la declaración anterior a continuación, todas son directivas válidas
1. ng-bind
2. ng: bind
3. ng_bind
4. data-ng-bind
5. x-ng-bind
fuente
La diferencia radica en el hecho de que los
data-*
atributos personalizados son válidos en la especificación HTML5 . Entonces, si necesita que su marcado sea validado, debe usarlos en lugar de losng
atributos.fuente
Respuesta corta:
ng-model
ydata-ng-model
son iguales y equivalentes!¿Por qué?
razón para: la especificación HTML5 de
data-
prefijo espera que cualquier atributo personalizado tenga el prefijo .data-
razón para: ambos
ng-model
ydata-ng-model
son iguales y equivalentes.fuente
Puede usar data-ng-, en lugar de ng-, si desea que su página HTML sea válida.
fuente
si desea manipular html o fragmentos de html en su servidor antes de servirlo en el navegador, definitivamente desea utilizar atributos data-ng-xxx en lugar de solo atributos ng-xxx.
fuente