Ich schaue mir gerade dieses Start-Tutorial-Video anangular.js
Zu einem bestimmten Zeitpunkt (nach 12'40 ") gibt der Sprecher an, dass die Attribute ng-app
und data-ng-app=""
innerhalb des <html>
Tags mehr oder weniger gleichwertig sind , ebenso wie ng-model="my_data_binding
und data-ng-model="my_data_binding"
. Der Sprecher sagt jedoch, dass der HTML-Code je nach Attribut durch verschiedene Validatoren validiert wird gebraucht.
Können Sie den Unterschied zwischen den beiden Möglichkeiten erklären, ng-
Präfix gegen data-ng-
Präfix?
Antworten:
Gute Frage. Der Unterschied ist einfach - es gibt absolut keinen Unterschied zwischen den beiden, außer dass bestimmte HTML5-Validatoren einen Fehler auf eine Eigenschaft wie
ng-app
werfen, aber sie werfen keinen Fehler für etwas, dem ein Präfixdata-
wie vorangestellt istdata-ng-app
.Um Ihre Frage zu beantworten, verwenden
data-ng-app
Sie , wenn Sie möchten, dass die Validierung Ihres HTML-Codes etwas einfacher ist.Unterhaltsame Tatsache: Sie können auch
x-ng-app
den gleichen Effekt erzielen.quelle
data-
undx-
. Warum können die HTML-Validierungsregeln nicht geändert werden, umng-
Inhalte zu akzeptieren ?data-*
Attribute sind die Möglichkeit, HTML zu erweitern .Aus der Angularjs-Dokumentation
basierend auf der obigen Aussage sind alle gültigen Richtlinien
1. ng-bind
2. ng: bind
3. ng_bind
4. data-ng-bind
5. x-ng-bind
quelle
Der Unterschied liegt in der Tatsache, dass benutzerdefinierte
data-*
Attribute in der HTML5-Spezifikation gültig sind . Wenn Sie also möchten, dass Ihr Markup validiert wird, sollten Sie sie anstelle derng
Attribute verwenden.quelle
Kurze Antwort:
ng-model
unddata-ng-model
sind gleich und gleichwertig!Warum?
Grund für:
data-
Präfix DieHTML5-Spezifikation erwartet, dass jedem benutzerdefinierten Attribut ein Präfix vorangestellt wird
data-
.Grund für: beide
ng-model
unddata-ng-model
sind gleich und gleichwertig.quelle
Sie können data-ng- anstelle von ng- verwenden, wenn Sie das HTML Ihrer Seite gültig machen möchten.
quelle
Wenn Sie HTML- oder HTML-Fragmente auf Ihrem Server bearbeiten möchten, bevor Sie sie an den Browser senden, möchten Sie auf jeden Fall data-ng-xxx-Attribute anstelle von nur ng-xxx-Attributen verwenden.
quelle