В чем преимущества использования данных, а не x-префикса для пользовательских атрибутов? - программирование
Подтвердить что ты не робот

В чем преимущества использования данных, а не 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-?

4b9b3361

Ответ 1

Преимущество использования префикса data-, а не префикса x- заключается в том, что префиксы data- гарантируют, что они останутся доступными для авторов по своему усмотрению, в то время как префикс x- может быть однажды использован для браузера - конкретная цель, возможно, противоречащая вашей. Обратите внимание, что x- не соответствуют HTML5.

Ответ 3

Чтобы избежать конфликтов между вашими атрибутами приложения и будущими атрибутами, которые могут быть определены в HTML, w3.org определил и нормализовал определенную схему, атрибут data-*. См. норма.

Используйте его

  • чтобы уменьшить риск несовместимости.
  • чтобы другие кодеры и инструменты узнали, что эти атрибуты содержат данные конкретных приложений.

Кроме того, использование атрибута normalized data позволяет использовать свойство element.dataset, а некоторые библиотеки, например jQuery, предоставляют вам определенные утилиты.