Problem
Wyjdźmy od problemu – pewnego rodzaju standardem w HTML jest to, że tagi są zapisywane za pomocą kebab case, czyli na przykład <some-tag-name>. A JavaScript ma problem z obsługą zmiennych/pól o takich nazwach:
var some-tag-name = {};
Uncaught SyntaxError: Unexpected token '-'
Ponieważ JavaScript traktuje myślnik jako znak odejmowania, to nie jest w stanie poradzić sobie z powyższym zapisem.
Rozwiązanie – normalizacja
AngularJS rozwiązuje ten problem poprzez normalizację – przekształca kebab case na camel case (tłumacząc z HTML do JS) i odwrotnie (tłumacząc z JS na HTML). Czyli jeśli chcemy stworzyć dyrektywę w JavaScript to zapisujemy jej nazwę za pomocą camel case:
myApp..directive('someTagName') ...
Następnie możemy ją wykorzystać w HTML:
<html>
...
<some-tag-name/>
...
</html>