Доступ к параметрам области дочерних директив

0

Я новичок в AngularJS, используя его в течение двух месяцев в проекте. Я узнал, как использовать директивы и их области (false, true, obj literal), но есть некоторые вопросы об этом...

Прежде всего, у нас есть некоторые ng-repeats и директивы с некоторыми поведением, я попытался представить эквивалентный сценарий в этой ссылке.

  1. Я не testfn, как получить доступ к функции (testfn - внутри ng-controller) внутри дочернего элемента директивы другой директивы myItemDirective. Но в myStepDirective он доступен, я попытался передать его, как в первом "слое", но не работал.

    PS.1: Я создал myStepDirective с изолированной областью для других примеров, если вам нужно, просто раскомментируйте тест. И у меня есть способ получить доступ к параметрам/функциям от родителя (контроллера), но не внутри внука.

  2. Почему директивные параметры области не работают с параметрами верблюжьего случая? Я не помню, чтобы прочитать некоторый намек в документах AngularJS... typewithnocase внутри myItemDirective работает, но typeList нет.

Благодарю!

Теги:
angularjs-directive

1 ответ

1
Лучший ответ

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.

Удачи,
Тибо Ламарче

  • 0
    Я обновил ссылку jsfiddle, спасибо
  • 0
    Я отредактировал свой ответ решением вашей проблемы.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню