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-appy data-ng-app=""son más o menos equivalentes dentro de la <html>etiqueta, y también lo son ng-model="my_data_bindingy 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-appsi desea validar su HTML para que sea un poco más fácil.Dato curioso: también puedes usarlo
x-ng-apppara 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 losngatributos.fuente
Respuesta corta:
ng-modelydata-ng-modelson 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-modelydata-ng-modelson 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