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

Соглашения об указании директив AngularJs

Когда указана директива angularJs, мы должны называть ее в форме синтаксиса camelCase, но когда мы ее используем, мы должны называть ее в форме "верблюжьего случая". Вопрос в том, почему это требуется?

Я знаю, что это для избежания конфликтов имен (сейчас/в будущем), но почему мы должны называть его по-разному при определении и использовании. Разве мы не можем определить его непосредственно в форме "верблюжьего случая"?

4b9b3361

Ответ 1

Есть две причины, почему это важно.

Прежде всего, атрибуты HTML не чувствительны к регистру, что означает, что "someName" и "somename" - это тот же атрибут. Таким образом, лучшим стилем является использование обозначения "kebab-case" для разделения слов в имени атрибута. Поэтому мы используем синтаксис "атрибут-имя" для атрибутов HTML и имен тегов.

С другой стороны, имена кебаба-case не являются допустимыми идентификаторами в Javascript, поэтому для использования таких имен как директивы Angular нам нужно будет использовать подробные > . Но поскольку в мире Javascript camelCase стандартно де-факто для именования переменных и свойств объекта, Angular использует нормализацию (см. Источник) для преобразования шашлыка -case имена для camelCase и наоборот.

Ответ 2

В директивах должны быть имена случаев верблюда (например, fooBarDirective), потому что AngularJS преобразует имена директив верблюда в дефисный случай. Например

<foo-bar-directive>

или

< ...  foo-bar-directive>

для использования в HTML (который нечувствителен к регистру).