Bla*_*ski 10 angularjs angularjs-directive
我在一个指令中有以下代码,我想确保在销毁范围时清理它.我看过网上以及代码,我想知道如何取消绑定元素.
var window = angular.element($window);
window.bind("resize", function(e){
abc();
});
Run Code Online (Sandbox Code Playgroud)
解:
var abc = function() {};
var window = angular.element($window);
window.bind('resize', abc);
scope.$on('$destroy', function(e) {
window.unbind('resize', abc);
});
Run Code Online (Sandbox Code Playgroud)
window当指令的作用域被破坏时,解除函数的绑定。因此,在您的指令中,您将在作用域的 destroy 事件上调用清理函数:
$scope.$on('$destroy', cleanUp);
创建一个cleanUp函数并调用 jQuery 的unbind 函数。
此 SO 条目中有一个示例,但使用了off函数(看起来与 类似unbind,但在 jqLite 中不可用)。另外,根据此 SO 条目,您可能必须命名您的函数,因为您需要在调用中再次引用它作为参数unbind。
| 归档时间: |
|
| 查看次数: |
14256 次 |
| 最近记录: |