在 angular 中添加控制器特定文档事件监听器
adding controller specific document eventlistener in angular
我正在开发一个用于进行在线测验的网络应用程序。我为此使用平均堆栈。在我的在线测试控制器中,我使用了很多事件监听器,例如
document.addEventListener("visibilitychange", onchange);
document.webkitIsFullScreen etc..
但我的问题是这个函数在移动到其他控制器后仍在执行,因为这是全局 eventLisners。
任何人都可以建议我最好的方法吗?
当作用域被销毁时或如您所说,您需要删除事件侦听器'after moving to other controllers':
$scope.$on('$destroy',function() {
document.removeEventListener('visibilitychange',onchange);
});
在组件销毁时处理事件侦听器的删除始终是一个好主意,尤其是对于大型应用程序,因为这可能是单页应用程序内存泄漏问题的主要原因。
我正在开发一个用于进行在线测验的网络应用程序。我为此使用平均堆栈。在我的在线测试控制器中,我使用了很多事件监听器,例如
document.addEventListener("visibilitychange", onchange);
document.webkitIsFullScreen etc..
但我的问题是这个函数在移动到其他控制器后仍在执行,因为这是全局 eventLisners。
任何人都可以建议我最好的方法吗?
当作用域被销毁时或如您所说,您需要删除事件侦听器'after moving to other controllers':
$scope.$on('$destroy',function() {
document.removeEventListener('visibilitychange',onchange);
});
在组件销毁时处理事件侦听器的删除始终是一个好主意,尤其是对于大型应用程序,因为这可能是单页应用程序内存泄漏问题的主要原因。