Я новичок в AngularJS, используя его в течение двух месяцев в проекте. Я узнал, как использовать директивы и их области (false, true, obj literal), но есть некоторые вопросы об этом...
Прежде всего, у нас есть некоторые ng-repeats
и директивы с некоторыми поведением, я попытался представить эквивалентный сценарий в этой ссылке.
Я не testfn
, как получить доступ к функции (testfn
- внутри ng-controller
) внутри дочернего элемента директивы другой директивы myItemDirective
. Но в myStepDirective
он доступен, я попытался передать его, как в первом "слое", но не работал.
PS.1: Я создал myStepDirective
с изолированной областью для других примеров, если вам нужно, просто раскомментируйте тест. И у меня есть способ получить доступ к параметрам/функциям от родителя (контроллера), но не внутри внука.
Почему директивные параметры области не работают с параметрами верблюжьего случая? Я не помню, чтобы прочитать некоторый намек в документах AngularJS... typewithnocase
внутри myItemDirective
работает, но typeList
нет.
Благодарю!
EDITED] Для вашего 1. Здесь есть рабочая скрипка, работающая с ограниченным объемом и верблюдом, чтобы преобразовать регистр змей: https://jsfiddle.net/wu0avqau/ Я провожу время, не понимая, почему это не сработало, но вы просто забыли = в вашем ng клике внутри вашей второй директивы
ng-click"testfn()"
Для вашего 2. Я могу сослаться на документацию: https://docs.angularjs.org/guide/directive
нормализация
Угловой нормализует тег элемента и имя атрибута, чтобы определить, какие элементы соответствуют этим директивам. Обычно мы ссылаемся на директивы своим case-> чувствительным именем camelCase (например, ngModel). Тем не менее, поскольку HTML является case-> нечувствительным, мы ссылаемся на директивы в DOM по строчным формам, обычно> используя атрибуты с разделителями тире на элементах DOM (например, ng-model).
Процесс нормализации выглядит следующим образом:
Стрите x- и data- с передней стороны элемента/атрибутов.
Преобразуйте имя:, - или _-delimited в camelCase. "
в основном ваш myItemDirective будет директивой my-item внутри вашего шаблона, но все равно будет myItemDirective внутри вашего js.
Удачи,
Тибо Ламарче