有没有办法检测AngularJS中的指令破坏?

时间:2015-01-13 21:32:32

标签: angularjs angularjs-directive

我想在AngularJS的指令中使用$ timeout。但我无法在指令文档中找到一种方法来检测它何时被销毁,以防它在我的超时完成之前发生并且我需要清除超时。

是否有一个我可以绑定的事件或一些内置函数(类似于$ destroy for controllers),我可以用它来检测我的指令何时被销毁?或者我错过了关于指令的基本概念?

1 个答案:

答案 0 :(得分:3)

您提到的$destroy事件也可用于指令:

app.directive('myDirective', function() {
  return {
    link: function(scope) {
      scope.$on('$destroy', function() {
        // Clean up
      });
    }
  };     
});