Ответ 1
AngularJS пытается сделать всех счастливыми!
Некоторые люди предпочитают использовать атрибуты данных, например data-abc-abc
, я предполагаю, что валидаторы будут счастливы. Другие люди предпочитают использовать пространства имен, такие как abc:abc
, а другие предпочитают использовать фактическое название директивы abcAbc
. Или даже все шапки ABC_ABC
. Или атрибуты расширения, такие как x-abc-abc
.
AngularJS нормализует имя, используемое в HTML, чтобы попытаться охватить все эти случаи. data-
и x-
удаляются, остальные остаются на камне с :
, -
и _
в качестве границ слов. Это делает abcAbc
из упомянутых выше случаев, который используется для поиска директивы, объявленной в JavaScript.
Все это называется нормализацией атрибута (US: нормализация атрибута) и можно найти в документации AngularJS и исходный код.