, какая служба преобразует имена элементов и attr в AngularJS?

17

AngularJS преобразует имена элементов и attr между разметкой HTML и JS, заменяя тире на camelCasing, т. е. myComponent - gt; 'my-component' (и обратно). какой сервис или функция AngularJS делает это?

спасибо -nikita     

задан Nikita 20.11.2013 в 16:29
источник

2 ответа

20

Фактическая функция, которая делает это, называется camelCase() , и она находится в jqLite .js , который, в свою очередь, берется из jQuery.

Использование этой функции находится в этапе компиляции в directiveNormalize()

Обновление
Реверс - это функция snake_case() в angular.js

    
ответ дан Variant 20.11.2013 в 16:57
источник
  • спасибо; как насчет обратного (т. е. случай змеи для преобразования верблюда). Или Угловая не нуждается в этом? –  Nikita 20.11.2013 в 18:47
  • Обновлен ответ с обратным также –  Variant 21.11.2013 в 13:47
  • Есть ли способ доступа к функции snake_case? Я могу видеть функцию, определенную в файле Angular.js, но я не смог получить к ней доступ. –  Raul Fernandez 09.11.2017 в 16:12
19

В объекте определения директивы есть функция связи с 3-м параметром для атрибута. У этого есть метод $ normalize, который может делать то, что вы хотите

function link(scope, element, attrs) { 
 attrs.$normalize("my-test") //return myTest
}
    
ответ дан Chandermani 20.11.2013 в 16:54
источник