Я хочу добавить событие click к элементу с директивой. Важная часть состоит в том, чтобы не определять кнопку или гиперссылку или что-то еще в директиве, а только атрибут onClick и вызываемую функцию.
Итак, HTML выглядит примерно так:
<button my-dir type="button" class="btn btn-primary">test</button>
Моя директива выглядит следующим образом:
.directive('myDir', function(){
return {
restrict: 'A',
scope: true,
link: function(scope, element, attrs) {
scope.functionToBeCalled = function(){
console.log("It worked!");
}
}
}
})
Я попытался добавить "click" следующим образом:
element.bind('click',scope.functionToBeCalled());
К сожалению, это вызывает функцию один раз при вызове ссылки, но не при нажатии кнопки. Я думаю, что мне нужно использовать компиляцию, а не ссылку, и переместить функциюToBeCalled в функцию, возвращаемую компиляцией. К сожалению, я не знаю, как это сделать.
Спасибо за вашу помощь!