2014-07-01 9 views
25

Ich bin neu die Winkel js gelernt können Sie den Unterschied zwischen ng-Modell und Daten-ng-ModellUnterschied b/w ng-Modell und Daten-ng-Modell

<!-- 
    First Name : <input type="text" ng-model="fname" id="fname"> 
    Second Name : <input type="text" ng-model="lname" id="lname"> 
    --> 

Antwort

5

Best Practice: Ziehe die dash getrennten Format (z ng-bind für ngBind) verwendet wird. Wenn Sie ein HTML-Validierungswerkzeug verwenden möchten, können Sie stattdessen die Datenversion verwenden (z. B. data-ng-bind für ngBind). Die anderen oben gezeigten Formulare werden aus Legacy-Gründen akzeptiert, wir empfehlen jedoch, sie zu vermeiden.

+0

Es ist verwirrend für mich in Ihrer Erklärung, welche ist die beste Praxis .. ist es nur 'ng-bind'? –

+0

Sie können beide verwenden, wenn Sie HTML5 gültige Attribut verwenden möchten Daten-ng -... – sylwester

11

Es ist die gleiche sagen. Winkel schneidet den data- Teil aus dem Attribut. Von the docs:

Angular eines Elements tag attribute name normalisiert und auf welche Elemente Spiel zu bestimmen, die Direktiven ... Der Normalisierungsprozess ist wie folgt:

  1. Streifen x-data- und von der Vorderseite des Elements/Attribute.
  2. Konvertieren Sie den :, - oder _ -begrenzten Namen in camelCase.
50

während sowohl ng-model als auch data-ng-model funktionieren würden, erwartet HTML5, dass jedem benutzerdefinierten Attribut das Präfix data- vorangestellt wird.

+2

Dies sollte als die richtige Antwort genommen werden. –

8

Es gibt keinen Unterschied zwischen ng-Modell und Daten-ng-Modell. Tatsächlich werden "Daten" als Präfix verwendet, um die HTML5-Validierung zu validieren. Es ist also eine gute Übung, das data-ng-Modell zu verwenden, aber Sie können auch ng-model verwenden. Das ist auch kein Problem.