Подтвердить что ты не робот

Разность b/w ng-model и data-ng-model

Я недавно узнал, что angular js вы можете сказать разницу между ng-model и data-ng-model

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

Ответ 1

Лучшая практика. Предпочитаете использовать формат с разделителями тире (например, ng-bind для ngBind). Если вы хотите использовать инструмент проверки HTML, вместо этого вы можете использовать версию с префиксом данных (например, data-ng-bind для ngBind). Другие формы, показанные выше, принимаются по унаследованным причинам, но мы советуем вы, чтобы избежать их.

Ответ 2

в то время как оба ng-model и data-ng-model будут работать, HTML5 ожидает, что любой пользовательский атрибут будет префикс data-.

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

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

Ответ 3

Они одинаковы. Angular разделяет часть data- на атрибут. Из документов:

Angular нормализует тег элемента и имя атрибута, чтобы определить, какие элементы соответствуют директивам... Процесс нормализации выглядит следующим образом:

  • Strip x- и data- с передней стороны элемента/атрибутов.
  • Преобразуйте :, - или _ -delimited name в camelCase.

Ответ 4

Нет никакой разницы между ng-model и data-ng-model. Фактически, "данные" используются в качестве префикса для проверки проверки HTML5. Таким образом, рекомендуется использовать data-ng-model, однако вы также можете использовать ng-model. В этом нет никаких проблем.