Включить JS класс в Angular проект - PullRequest
0 голосов
/ 03 апреля 2020

Мне нужно включить приведенный ниже код JavaScript в мое приложение Angular (полученное от нашей команды дизайнеров).

До:

const body = document.querySelector('body');
window.addEventListener('touchstart', () => {
});
window.addEventListener('touchmove', (e) => {
  body.classList.add('-scroll');
});
window.addEventListener('touchend', (e) => {
  body.classList.remove('-scroll');
});

Что я имею попробовал - это добавить класс Scroll для него, как в коде ниже. В результате - у меня нет ошибок, но и нет результата; возможно код неправильный. Подскажите, пожалуйста, как это исправить, или, может быть, предложите лучшее решение для этого.

После (не работает):

public ngOnInit(): void {
  setTimeout(() => {
    new Scroll().init();
  }, 100);
}

export class Scroll {
  body: any;

  init() {
    this.body = document.querySelector('body');

    window.addEventListener('touchstart', () => {});
    window.addEventListener('touchmove', e => {
      this.body.classList.add('-scroll');
    });
    window.addEventListener('touchend', e => {
  this.body.classList.remove('-scroll');
    });
  }
}

Заранее спасибо!

1 Ответ

0 голосов
/ 03 апреля 2020

Использование angular HostListener Декоратор см. Использование

export class Scroll {

  @HostListener('window:touchstart', ['$event'])
  onWindowTouchstart($event) {
    // your code
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...