Padreramnt
@Padreramnt
Padreramnt

Angular JS: Как описать директиву коллбека для использования на одном элементе?

Суть вопроса в том, как сделать директиву, на подобии ng-click или ng-change, но без использования изолированной области видимости.
Допустим есть 2 директивы: onEvent1 onEvent2, эти 2 события связанны с элементом и в них передается колбеки: ....
Самое простое для вызова этих колбеков: описать директивы с использоватием scope { handler: '&onEvent1' }:
...
.directive('onEvent1', function () {
    return {
        restrict: 'A',
        scope: { handler: '&onEvent1' },
        link: function (scope, e, a) {
              e.bind('нужное событие', function () { scope.handler(); });
        }
    };
}

но в таком случае Angular очень грубо ругается.
Как вариант - не создавать изолированную область видимости, но тогда возникает проблема: как и чем в ануляре из "clbk(attrs)" получить нужный callable-object, при вызове которого отработает нужная функция с переданными ей параметрами?.
  • Вопрос задан
  • 205 просмотров
Решения вопроса 1
@lega
Можно взять атрибут из attrs и откомпиллировать его, что-то типа:
$parse(attrs.onEvent1)($scope);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы