J'ai commencé à en apprendre davantage sur AngularJS et je ne sais pas quelles sont les différences entre les directives ng-app
et data-ng-app
.
angularjs
angularjs-directive
user1876508
la source
la source
Réponses:
La plupart de ces réponses disent simplement que cela rend le modèle valide HTML ou HTML Validator Compliant , sans expliquer non plus ce que ces termes signifient.
Je ne sais pas avec certitude, mais je suppose que ces termes s'appliquent aux programmes de validation HTML qui analysent votre code pour la conformité aux normes - un peu comme de la charpie. Ils ne reconnaissent pas
ng-app
comme un attribut valide. Ils s'attendent à ce que les attributs HTML non par défaut soient précédés dedata-attribute_name_here
.Ainsi, les créateurs de
AngularJS
ont créé des noms alternatifs pour leurs directives qui incluent ledata-
devant eux afin que les programmes de validation HTML les "aiment".la source
Aucun en termes de comportement d'exécution, ce ne sont que des styles de directives de dénomination différents, comme décrit ici: http://docs.angularjs.org/guide/directive
Comme vous pouvez le voir en lisant ceci, le
data-
peut être utilisé pour que votre HTML passe les tests de validation HTML /la source
Vous pouvez déclarer l'espace de noms angulaire
<html xmlns:ng="http://angularjs.org" ng-app>
la source
Dans les navigateurs modernes, il n'y a pas de différence, mais dans les IE plus anciens, ils ne fonctionneront que si vous déclarez un espace de noms XML le définissant.
Il existe également une différence de validation en ce que le
ng-app
XHTML n'est pas valide et entraînera l'échec des validations HTML de votre page Web. Angular vous permet de préfixer ses directives avecdata-
oux-
de lui permettre de valider.la source
Vous pouvez utiliser data-ng-, au lieu de ng-, si vous souhaitez rendre votre page HTML valide.
Cela lancera une erreur
Cela ne jettera pas d'erreur
la source
La différence fondamentale entre ces deux termes est que data-ng-app valide le HTML alors que ce dernier ne le fait pas. La fonctionnalité reste la même. Pour plus de références, vous pouvez essayer w3Validator.
la source
Il n'y a absolument aucune différence entre les deux, sauf que certains validateurs HTML5 lèveront une erreur sur une propriété comme ng-app, mais ils ne lèveront pas d'erreur pour tout ce qui est préfixé avec data-, comme data-ng-app. Donc, utiliser le préfixe de données avec nos directives angulaires est une bonne chose.
Même vous pouvez utiliser des directives angulaires de la manière mentionnée ci-dessous ng-bind, ng: bind, ng_bind, data-ng-bind, x-ng-bind
la source