我有一个角度应用程序,如果用户长时间使浏览器处于空闲状态,我想自动从该应用程序中退出。说15分钟。为此,我写了一份服务及其工作细则。我正在使用@HostListener捕获用户操作。但是我感觉,由于每次用户操作都会调用HostListener方法,因此可能会出现性能问题。
@HostListener('document:keyup', ['$event'])
keyUpListenere(event) {
this.idleTimeoutService.resetTimer();
}
@HostListener('document:click', ['$event'])
clickListener() {
this.idleTimeoutService.resetTimer();
}
@HostListener('document:wheel', ['$event'])
mouseWheelListener () {
this.idleTimeoutService.resetTimer();
}
答案 0 :(得分:1)
一点也不是,许多应用程序都使用这种东西来进行会话超时的自动弹出提示。我还将包括touchstart和/或touchend。
答案 1 :(得分:0)
是的,有表现的机会,以为您正在创建3个侦听器,以侦听所有文档上的操作。
您可以在事件函数的app.component的主div上分配此事件,这比使侦听器更好。