在 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);
});

在组件销毁时处理事件侦听器的删除始终是一个好主意,尤其是对于大型应用程序,因为这可能是单页应用程序内存泄漏问题的主要原因。