javascript - 当 $scope 被销毁时删除事件监听器

标签 javascript angularjs

我实际上面临着一个问题。

我有一个指令可以监听如下事件:

$scope.$on('event',myFunc);

问题是当 Controller 被销毁时,$scope 使事件监听器保持事件状态..

我应该输入什么代码

$scope.$on('$destroy',myDestroyFunc);

为了防止这种影响?

感谢您的提前

最佳答案

您应该监听作用域销毁事件并在销毁时从事件中取消注册。 $on 返回事件的取消注册函数。

var deregister = $scope.$on('event',myFunc);
$scope.$on('$destroy', deregister);

关于javascript - 当 $scope 被销毁时删除事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30169905/

相关文章:

javascript - Codeigniter 和 Angular JS 集成

javascript - Angular ng 类不工作

javascript - 如何让这个函数改变样式表

javascript - java或javascript中具有t格式转换的日期时间dd mmm yyyy hh mm ss

javascript - 如何让phaser 3全屏显示

javascript - Youtube 视频事件未触发 [在本地或其他地方进行测试时]?

angularjs - Python flask 和AngularJS与链接http post请求顺序

javascript - 是什么导致 Firebase 应用中出现 "Timer Installed"或 "Timer removed"?

javascript - AngularJs 观察者为什么会发生这种情况

javascript - 使用纯 Javascript 隐藏 HTML 中的所有按钮,无需使用 ID 和类