Автопрокрутка страницы после загрузки страницы в Angular - PullRequest
0 голосов
/ 13 ноября 2018

Мне нужно прокрутить страницу внизу

Код для прокрутки

window.scrollTo({ left: 0, top: 20 * window.outerHeight, behavior: 'smooth' });

Работает отлично, при использовании этого с событием щелчка.

Но когда я помещаю этот блок кода в конструктор, он не работает

this.activatedRoute.queryParams.subscribe(params => {
      let ref = params['ref'];
      console.log(ref); 
      if(ref=="subscription"){
        window.scrollTo({ left: 0, top: 20 * window.outerHeight, behavior: 'smooth' });
      }
    });

Я что-то не так делаю?

1 Ответ

0 голосов
/ 13 ноября 2018

Вы также можете обрабатывать события маршрутизатора NavigationEnd.Вот блок кода, который мы добавили в app.component.ts, и он работает

router.events.pipe(pairwise()).subscribe((event: [NavigationEnd, NavigationEnd]) => {
  if (event[0] instanceof NavigationEnd) {
    window.scroll(0, 0);
  }
}
...