В чем преимущества использования данных, а не x-префикса для пользовательских атрибутов?
Документация AngularJS говорит Optionally the directive can be prefixed with x-, or data- to make it HTML validator compliant.
.
Пример разметки:
- нет префикса:
<input ng-model="name">
-
data-
: <input data-ng-model="name">
-
x-
: <input x-ng-model="name">
Префикс x-
быстрее набирает, чем data-
, но в обучающих программах, которые я видел, не использовалось ни префикс, ни data-
, поэтому мой вопрос: есть ли какие-либо причины, которые я могу использовать data-
скорее чем x-
?
Ответы
Ответ 1
Преимущество использования префикса data-
, а не префикса x-
заключается в том, что префиксы data-
гарантируют, что они останутся доступными для авторов по своему усмотрению, в то время как префикс x-
может быть однажды использован для браузера - конкретная цель, возможно, противоречащая вашей. Обратите внимание, что x-
не соответствуют HTML5.
Ответ 2
data-
представляет собой стандартизованную часть спецификации HTML5. Семантически это лучший способ пойти.
Ответ 3
Чтобы избежать конфликтов между вашими атрибутами приложения и будущими атрибутами, которые могут быть определены в HTML, w3.org определил и нормализовал определенную схему, атрибут data-*
. См. норма.
Используйте его
- чтобы уменьшить риск несовместимости.
- чтобы другие кодеры и инструменты узнали, что эти атрибуты содержат данные конкретных приложений.
Кроме того, использование атрибута normalized data позволяет использовать свойство element.dataset, а некоторые библиотеки, например jQuery, предоставляют вам определенные утилиты.