Ich habe angefangen, etwas über AngularJS zu lernen und bin verwirrt darüber, was die Unterschiede zwischen der ng-app
und der data-ng-app
Direktive sind.
angularjs
angularjs-directive
user1876508
quelle
quelle
Antworten:
Die meisten dieser Antworten besagen lediglich, dass Vorlagen HTML oder HTML Validator kompatibel sind , ohne zu erklären, was DIESE Begriffe bedeuten.
Ich weiß es nicht genau, aber ich vermute, dass diese Begriffe für HTML-Validierungsprogramme gelten, die Ihren Code auf Einhaltung von Standards scannen - ähnlich wie Flusen. Sie erkennen
ng-app
kein gültiges Attribut. Sie erwarten, dass nicht standardmäßige HTML-Attribute vorangestellt werdendata-attribute_name_here
.Daher haben die Ersteller von
AngularJS
alternative Namen für ihre Anweisungen erstellt, die diedata-
vor ihnen stehenden enthalten, damit HTML-Validierungsprogramme sie "mögen".quelle
Keine in Bezug auf das Laufzeitverhalten, dies sind nur verschiedene Arten von Namensanweisungen, wie hier beschrieben: http://docs.angularjs.org/guide/directive
Wie Sie aus dem Lesen ersehen
data-
können, kann dies verwendet werden, um Ihren HTML-Code HTML-Validator-Tests bestehen zu lassen.quelle
Sie können den eckigen Namespace deklarieren
<html xmlns:ng="http://angularjs.org" ng-app>
quelle
In modernen Browsern gibt es keinen Unterschied, aber in älteren IEs funktionieren sie nur, wenn Sie einen XML-Namespace deklarieren, der ihn definiert.
Es gibt auch einen Validierungsunterschied darin, dass
ng-app
XHTML nicht gültig ist und Ihre Webseite die HTML-Validierung nicht besteht. Mit Angular können Sie seinen Anweisungen ein Präfix voranstellendata-
oderx-
eine Validierung zulassen.quelle
Sie können data-ng- anstelle von ng- verwenden, wenn Sie das HTML Ihrer Seite gültig machen möchten.
Dies wird einen Fehler auslösen
Dies wird keinen Fehler auslösen
quelle
Der grundlegende Unterschied zwischen diesen beiden Begriffen besteht darin, dass data-ng-app den HTML-Code validiert, während letzterer dies nicht tut. Die Funktionalität bleibt gleich. Für weitere Informationen können Sie w3Validator ausprobieren.
quelle
Es gibt absolut keinen Unterschied zwischen den beiden, außer dass bestimmte HTML5-Validatoren einen Fehler in einer Eigenschaft wie ng-app auslösen, aber keinen Fehler für etwas auslösen, dem Daten vorangestellt sind, wie z. B. data-ng-app. Die Verwendung des Datenpräfixes mit unseren Winkelanweisungen ist also gut.
Sogar Sie können Winkelanweisungen auf die unten genannten Arten verwenden: ng-bind, ng: bind, ng_bind, data-ng-bind, x-ng-bind
quelle