Я пытаюсь использовать scrollIntoView, когда моя страница загружается и когда пользователь нажимает одну из кнопок меню. Поэтому я подписываюсь на параметры маршрута в ngOnInit (также пытался в ngAfterViewInit) и внутри там я активирую "scrollIntoView ()". Проблема в том, что он не работает при первой загрузке страницы (если клиент вводит прямо на www.website.co.il/home/componentName вместо www.website.co.il/home), но только если я изменяюмой маршрут после загрузки страницы.
app-routing.module.ts
{ path: '', component: HomeComponent },
{ path: 'home/:section', component: HomeComponent },
{ path: 'home', component: HomeComponent }
navbar.component.html
<li
class="menuItem"
*ngFor="let menuItem of (menuItems$ | async).menuItems; trackBy: trackByFunction">
<a
class="menuItem__link"
[routerLink]="['home', menuItem.link]">{{ menuItem.name }}</a>
</li>
our-services.component. ts
this.route.params.subscribe(params => {
if(params.section === COMP_LINK_NAME) {
this.container.nativeElement.scrollIntoView({ behavior: "smooth", block: "center", inline: "center" });
}
});
}
COMP_LINK_NAME - это постоянный параметр компонента наших услуг