Ich bin neu in Angular und versuche zu verstehen, was die Präfixe "x-" und "data" bedeuten. In der Direktiven-Dokumentation (http://docs.angularjs.org/guide/directive) heißt es, dass diese Präfixe die Direktive "HTML validator compliant" machen. Was genau bedeutet das?Wie werden die Attributpräfixe "x-" und "data" in AngularJS verwendet?
Antwort
Die HTML5-Spezifikation ermöglicht eine beliebige Attribute, solange sie mit Daten- wie so voran sind:
<div data-myattribute=""></div>
Während dies wäre ungültig HTML5 sein:
<div myattrbute=""></div>
For more information on data- attributes, have a look here.
Was "x-" Attribute angeht, denke ich, dass Sie "x:" Attribute und Elemente meinen, die spezifisch für die XHTML Validierung sind ...
Um auf diese zu erweitern, wenn Sie waren (aus irgendeinem Grund) XHTML verwenden, können Sie festlegen, benutzerdefinierte Attribute mit Namensräume wie so (und ich zusammenfassend nur das Wesentliche hier):
<html xmlns:x="http://sample.com/mynamespace">
<body>
<div x:whatever=""></div>
<x:mytag></x:mytag>
</body>
</html>
wo Die URL in xmlns dient nur dazu, Konflikte zwischen ähnlichen Elementen zu vermeiden. Außerdem kann eine DTD für die benutzerdefinierten Elemente und Attribute für Validierungszwecke als Teil Ihrer DOCTYPE-Deklaration bereitgestellt werden.
* Verhalten in Browsern wird mit diesem Ansatz Xmlns variieren.
Zusammenfassend jedoch: Mit den meisten Browsern, die in den letzten drei Jahren veröffentlicht wurden, oder IE8 + müssen Sie sich um keine dieser Dinge kümmern. Nur in ganz bestimmten Situationen wird es dich wirklich interessieren.
Von der HTML5-Spezifikation: http://www.w3.org/html/wg/drafts/html/master/single-page.html
Attributnamen beginnend mit den beiden Zeichen „x-“ für User-Agent reserviert werden und sind garantiert nie formell die HTML-Sprache hinzugefügt werden.
auch:
Für Markup-Level-Funktionen, die mit the HTML syntax zur Verwendung bestimmt sind Erweiterungen sollten neue Attribute der Form „
x-vendor-feature
“ begrenzt werden, wo Anbieter eine kurze ist Zeichenfolge Dieser identifiziert den Lieferanten, der für die Erweiterung verantwortlich ist, und das Merkmal ist der Name des Features. Neue Elementnamen sollten nicht erstellt werden. Die Verwendung von Attributen für solche -Erweiterungen ermöglicht es ausschließlich, dass Erweiterungen von mehreren Anbietern auf dem gleichen Element koexistieren, was mit Elementen nicht möglich wäre. Mit dem Formular "x-vendor-feature
" können Erweiterungen vorgenommen werden, ohne dass das Risiko künftiger Ergänzungen der Spezifikation besteht.
Ich würde so weit gehen zu sagen, dass das "x-" Präfix der richtige Weg ist Verwenden Sie eckig, wenn Sie das Markup validieren möchten. Es sind wirklich Daten. Von W3C Entwurf: "Für Markup-Level-Features ... Erweiterungen sollten auf neue Attribute des Formulars 'x-vendor-feature'" Ng Attribute mit dem X-Präfix passen diese Beschreibung schön. –
+1. Betrachtet der Wortlaut hier eher Browser-Anbieter als Bibliothek/Frameworks? Unabhängig davon fühlt sich das für mich korrekter an als die Verwendung eines Datenpräfixes, da es spezifischer für das Framework ist als die Daten, die Sie anhängen möchten (und auch dem x-vendor Präfix des Entwurfs folgen). – wbyoung
Ich stimme mit wbyoung überein, nach dem Buchstaben des Gesetzes x- ist für den Browser reserviert, keine Erweiterungen oder Frameworks. Ich denke aber auch, dass sie das Gesetz ändern sollten, um diese Verwendung zu berücksichtigen, da "x-ng-feature" wie eine semantisch korrekte Konvention erscheint. – misteraidan
- 1. Wie kann $ http außerhalb eines Controllers verwendet werden? in AngularJS
- 2. Wie werden binäre Flags in Core Data verwendet?
- 3. Wie können alle Python-Versionen deinstalliert und die Standard-Systemversion von OS X 10.10 verwendet werden?
- 4. Wie kann die .SaveChanges() -Methode in ADO.Net Data Services am besten verwendet werden?
- 5. Wie werden Großbuchstaben in Testdox-Namen verwendet?
- 6. Wie X einen Wert in angularJS bekommt
- 7. Welche Big Data Tools oder Ansatz verwendet werden
- 8. Was sind "Dekorateure" und wie werden sie verwendet?
- 9. Wann sollte $ Scope in der AngularJS-Webanwendung verwendet werden?
- 10. Ein Makro konnte nicht verwendet werden declltype (X) in g ++
- 11. Wie führe ich einen Hintergrund-Thread korrekt aus, wenn Spring Data und Hibernate verwendet werden?
- 12. Wie werden alle Ansichts- und Hilfsmethoden innerhalb der Rails-Konsole für Rails 2.x und 3.x verwendet?
- 13. Wie werden die tatsächlichen MAVEN_OPTIONS gedruckt, die verwendet werden?
- 14. Wie wird die Überwachung über die Java-Konfiguration in Spring Data (und Spring Data Rest) konfiguriert?
- 15. Wie werden Verschlüsse in verschachtelten Karten verwendet?
- 16. Wann sollte \ n in Python 3.x verwendet werden?
- 17. Welche Datenstrukturen werden in Cocos2d-x V3 verwendet?
- 18. Kann Webdriver nicht in Mac OS X verwendet werden?
- 19. Wie häufig werden die Xilinx-Chips verwendet?
- 20. Wie ScriptReference und Nuget ordnungsgemäß verwendet werden
- 21. Wie werden NSCollectionView und Outlets richtig verwendet?
- 22. Wie können% -Zeichen in Bezeichnern verwendet werden
- 23. Wie kann die clojure.algo.generic-Bibliothek verwendet werden?
- 24. Wie werden benutzerdefinierte Bindungen verwendet?
- 25. Wie bekomme ich die x und y-Positionen eines Elements in einer AngularJS-Direktive
- 26. AngularJS: Wie Daten zwischen Service und Fabrik übergeben werden?
- 27. Wie werden Datenanmerkungsvalidatoren in Winforms verwendet?
- 28. Wann und wie fortsetzung verwendet werden Stil
- 29. AngularJS/Foundation für Apps - Controller kann teilweise nicht verwendet werden
- 30. Kann Annotationsprozessor für die Codegenerierung verwendet werden?
Das Dokument der OP-Links sagt, dass 'data-myattribute' und' x-myattribute' HTML-Validator-kompatibel sind. –
Nun, ich bin mir nicht sicher, welcher Validator der Autor des Dokuments verwendet ... aber x-Attribut ist derzeit [nicht in der Spezifikation] (http://www.w3.org/html/wg/drafts/html/master/ single-page.html). –
Fair genug, ich habe versucht, mehr Informationen über die 'x-' zu finden, aber wie Sie sich vorstellen können, ist der Begriff unmöglich für Google. Es taucht hauptsächlich in experimentellen Browserfunktionen wie 'x-moz-errormessage' und' x-webkit-rede' auf. –