Was ist der Unterschied zwischen ng-app und data-ng-app?

Ich habe angefangen, etwas über AngularJS zu erfahren und bin verwirrt darüber, was die Unterschiede zwischen den ng-app und data-ng-app Direktiven sind.

Die meisten dieser Antworten sagen einfach, dass Template HTML- konform oder HTML-Validator-kompatibel ist , ohne zu erklären, was diese Begriffe bedeuten.

Ich weiß es nicht genau, aber ich nehme an, dass diese Bedingungen für HTML-validationsprogramme gelten, die Ihren Code auf Konformität mit Standards überprüfen – ähnlich wie Flusen. Sie erkennen ng-app als gültiges Attribut. Sie erwarten, dass nicht standardmäßige HTML-Attribute vorangestellt werden

data-attribute_name_here .

Also, die Ersteller von AngularJS haben alternative Namen für ihre Direktiven erstellt, die die data- vor ihnen enthalten, so dass HTML-validationsprogramme sie “mögen”.

Keine in Bezug auf das Laufzeitverhalten, das sind nur verschiedene Arten von Benennungsdirektiven wie hier beschrieben: http://docs.angularjs.org/guide/directive

Direktiven haben Namen wie zB ngBind. Die statement kann aufgerufen werden, indem der Name des Kamelfalls in einen Schlangenfall mit den folgenden Sonderzeichen übersetzt wird:, – oder _. Optional kann der Direktive x- oder data vorangestellt werden, um sie HTML-validator-konform zu machen. Hier ist eine Liste einiger möglicher Direktiven-Namen: ng: bind, ng-bind, ng_bind, x-ng-bind und data-ng-bind.

Wie Sie sehen können, können die data- verwendet werden, um HTML HTML Validator Tests zu bestehen.

Sie können den eckigen Namespace deklarieren

In modernen Browsern gibt es keinen Unterschied, aber in älteren IEs funktionieren sie nur, wenn Sie einen XML-Namespace deklarieren, der sie definiert.

Es gibt auch einen validationsunterschied darin, dass ng-app kein gültiges XHTML ist und dazu führen wird, dass Ihre Webseite HTML-validationen nicht besteht. Mit Angular können Sie den statementen data- oder x- voranstellen, damit sie validiert werden können.

Sie können data-ng- anstelle von ng- verwenden, wenn Sie Ihre Seite HTML-gültig machen wollen.
Dies wird einen Fehler auslösen

 

Input something in the input box:

Name:

Dies wird keinen Fehler verursachen

 

Input something in the input box:

Name:

Der grundlegende Unterschied zwischen diesen beiden Begriffen besteht darin, dass Data-ng-app den HTML-Code validiert, während letzterer dies nicht tut.functionalität bleibt gleich. Für mehr Referenz können Sie w3Validator ausprobieren.

Absolut gibt es keinen Unterschied zwischen den beiden, außer dass bestimmte HTML5-Validatoren einen Fehler auf eine Eigenschaft wie ng-app casting, aber sie casting keinen Fehler für irgendetwas, das mit Daten vorangestellt ist, wie data-ng-app. Die Verwendung von Datenpräfixen mit unseren angularanweisungen ist also gut.

Sogar Sie können eckige Direktiven in den unten genannten Arten ng-bind, ng: bind, ng_bind, data-ng-bind, x-ng-bind verwenden