我想在AngularJS的指令中使用$ timeout。但我无法在指令文档中找到一种方法来检测它何时被销毁,以防它在我的超时完成之前发生并且我需要清除超时。
是否有一个我可以绑定的事件或一些内置函数(类似于$ destroy for controllers),我可以用它来检测我的指令何时被销毁?或者我错过了关于指令的基本概念?
答案 0 :(得分:3)
您提到的$destroy
事件也可用于指令:
app.directive('myDirective', function() {
return {
link: function(scope) {
scope.$on('$destroy', function() {
// Clean up
});
}
};
});