小编olu*_*olu的帖子

AngularJS - 通过指令向按钮添加onClick事件

我想将click事件添加到带有指令的元素中.重要的是不要在指令中定义按钮或超链接或其他内容,而只定义onClick属性和调用的函数.

所以HTML看起来像这样:

<button my-dir type="button" class="btn btn-primary">test</button>
Run Code Online (Sandbox Code Playgroud)

我的指令如下:

.directive('myDir', function(){
   return {
       restrict: 'A',
       scope: true,
       link: function(scope, element, attrs) {

           scope.functionToBeCalled = function(){
               console.log("It worked!");
           }
       }
   }
})
Run Code Online (Sandbox Code Playgroud)

我试过添加这样的"点击":

element.bind('click',scope.functionToBeCalled());
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会在调用链接时调用该函数,但在单击按钮时则不会.我想我必须使用编译而不是链接并将functionToBeCalled移动到compile返回的函数中.可悲的是,我不知道如何做到这一点.

谢谢你的帮助!

javascript angularjs

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

angularjs ×1

javascript ×1