Добавьте это в модуль, куда вы импортируете RoutingModule.forRoot()
imports: [RouterModule.forRoot(routes, { scrollPositionRestoration: 'disabled' })],
Это отключит сброс прокрутки для маршрутизации во всем приложении. Если вам нужно больше контроля, вы можете реализовать собственный лог c по следующему шаблону:
class AppModule {
constructor(router: Router, viewportScroller: ViewportScroller) {
router.events.pipe(
filter((e: Event): e is Scroll => e instanceof Scroll)
).subscribe(e => {
if (e.position) {
// backward navigation
viewportScroller.scrollToPosition(e.position);
} else if (e.anchor) {
// anchor navigation
viewportScroller.scrollToAnchor(e.anchor);
} else {
// forward navigation
viewportScroller.scrollToPosition([0, 0]);
}
});
}
}