Javascript 在Angular指令中,删除事件后如何重新应用事件侦听器?

Javascript 在Angular指令中,删除事件后如何重新应用事件侦听器?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,这可能是因为我缺乏角度方面的知识,如果是这样,请事先原谅我 在Angular中,假设我有一个作为属性绑定到元素的指令 <div my-directive></div> 我想再次将click事件设置为该指令中的同一个div(比如在单击按钮之后)。我如何做到这一点?您可以这样使用- app.directive("myDirective", function() { return { link: function(scope, ele, attr, ctrl

这可能是因为我缺乏角度方面的知识,如果是这样,请事先原谅我

在Angular中,假设我有一个作为属性绑定到元素的指令

<div my-directive></div>

我想再次将click事件设置为该指令中的同一个div(比如在单击按钮之后)。我如何做到这一点?

您可以这样使用-

app.directive("myDirective", function() {
   return {
      link: function(scope, ele, attr, ctrl) {
          ele.on("click", function() {
              ele.unbind("click");
              console.log("Click event removed");

             angular.element(ele).bind("click");
          });

      }
   }
});

与其删除单击,不如使用变量来存储状态并根据变量的状态执行操作。@Sherin Mathew我想应该归结为这样做。但是我仍然想知道是否可以重新应用该事件,或者一旦调用.off()它是否就完全消失了。
app.directive("myDirective", function() {
   return {
      link: function(scope, ele, attr, ctrl) {
          ele.on("click", function() {
              ele.unbind("click");
              console.log("Click event removed");

             angular.element(ele).bind("click");
          });

      }
   }
});
app.directive("myDirective", function() {
   return {
      link: function(scope, ele, attr, ctrl) {
          ele.on("click", function() {
              angular.element(ele).off('click');
              console.log("Click event removed");
          });
      }
   }

});