Разность 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">
-->
Ответы
Ответ 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. В этом нет никаких проблем.