Angular 6: есть ли вероятность проблем с производительностью при использовании @HostListener? - PullRequest
0 голосов
/ 16 октября 2018

enter image description here У меня угловое приложение, которое я хочу автоматически выводить из приложения, если пользователь длительное время бездействует.Скажи 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();
    }

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Да, есть шансы на производительность, подумайте, что вы создаете 3 прослушивателя, которые прослушивают действия для всего вашего документа.

Вы можете назначить эти события на главном элементе app.component для функций событий,лучше, чем сделать слушателей.

0 голосов
/ 16 октября 2018

Вовсе нет, многие приложения используют подобные вещи для автоматических всплывающих напоминаний об истечении времени ожидания сеанса.Я бы также включил touchstart и / или touchend.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...