2014-07-01 16 views
25

ja niedawno dowiedział kątowe js można powiedzieć różnicę między NG-model i data-NG-modeluróżnica b/NG-model i data-NG-modelu

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

Odpowiedz

5

Efektywna eksploatacja: woleć korzystać myślnikiem rozdzielany (np ng wiązania dla ngBind). Jeśli chcesz użyć narzędzia do sprawdzania poprawności HTML, możesz zamiast tego użyć wersji z prefiksem danych (np. Data-ng-bind dla ngBind). Inne formularze przedstawione powyżej są akceptowane z powodów związanych z dziedzictwem, ale radzimy ich unikać.

+0

To jest mylące dla mnie w twoim wyjaśnieniu, która jest najlepsza praktyka .. czy to po prostu 'ng-bind'? –

+0

możesz użyć obu, jeśli chcesz używać prawidłowego atrybutu HTML5 data-ng -... – sylwester

11

są one takie same. Kątowy usuwa część z atrybutu data-. Od the docs:

kątowa normalizuje oznaczyć elementu i nazwy atrybutów, aby określić, które elementy spotkania, które dyrektywy ... Proces normalizacji jest następująca:

  1. Strip x- i data- z przodu elementu/attributes.
  2. Konwertuj :, - lub _ -delimited name na camelCase.
50

podczas gdy oba ng-model i data-ng-model będą działać, HTML5 oczekuje, że każdy niestandardowy atrybut będzie poprzedzony prefiksem przez data-.

<!-- not HTML5 valid --> 
<input type="text" ng-model="name"> 

<!-- HTML5 valid --> 
<input type="text" data-ng-model="name"> 
+2

To powinno być potraktowane jako poprawna odpowiedź. –

8

Nie ma różnicy między modelem ng a modelem danych-ng. Właściwie "dane" użyte jako przedrostek do sprawdzania poprawności HTML5. Dobrą praktyką jest stosowanie modelu danych-ng, ale można również użyć modelu ng. Nie ma w tym również problemu.