Angular 在Angualr 8中激活或停用命名路由器出口时,如何防止页面跳转到顶部?

Angular 在Angualr 8中激活或停用命名路由器出口时,如何防止页面跳转到顶部?,angular,angular8,angular-router,router-outlet,Angular,Angular8,Angular Router,Router Outlet,我在跟随《天使英雄指南》。这个很好用。我有一个组件,在点击时显示和隐藏-它基本上是教科书上的例子 当一条路线被激活时,整个应用程序被设置为滚动到顶部,这在较新的Angular版本中是一个不错的功能。我将其配置为: @NgModule({ imports: [ RouterModule.forRoot(routes, { scrollPositionRestoration: 'enabled', anchorScrolling: 'enabled', }

我在跟随《天使英雄指南》。这个很好用。我有一个组件,在点击时显示和隐藏-它基本上是教科书上的例子

当一条路线被激活时,整个应用程序被设置为滚动到顶部,这在较新的Angular版本中是一个不错的功能。我将其配置为:

@NgModule({
  imports: [
    RouterModule.forRoot(routes, {
      scrollPositionRestoration: 'enabled',
      anchorScrolling: 'enabled',
    })
  ],
  exports: [RouterModule]
})
这个很好用。现在我的插座实际上是一个弹出窗口,固定在屏幕上的某个地方。当我激活或停用插座时,页面会向上滚动。似乎上述规则也适用于路由器出口


如果路由器出口被切换,我如何阻止Angular滚动到页面顶部?

您可以尝试在路由器出口激活之前存储滚动状态,并在其被破坏时恢复以前的状态,就像Simar在这里所做的那样谢谢您,@Adam。这看起来像是实现这一目标的许多样板-/