【发布时间】:2019-08-25 23:56:38
【问题描述】:
我正在构建一个基本的 Angular 应用程序,我有一些组件,当我从主页转到服务页面时,向下滚动,然后返回主页,滚动设置为页面底部。
我想在每次打开组件时将滚动条设置为顶部。
由于我使用的是 angular7,我尝试使用路由器中可用的选项,
{scrollPositionRestoration : 'enabled'}
然后
{scrollPositionRestoration : 'top'},
但它不适用于 Chrome、Chrome 移动设备或 Edge。
除此之外,我尝试在路由器上设置监听器并使用
window.scrollTop(0,0),这也不起作用,使用文档变量也不起作用。
我只想让滚动条在顶部。这是一件很幼稚的事情,但现在让我很沮丧。
【问题讨论】:
-
那行不通。我之前检查过它,据说它使用了路由器中可用的新选项。
-
可能滚动不会发生在
window上,而是发生在其他一些元素上。您必须弄清楚您的案例中的可滚动容器是什么。例如我使用MatSidenav滚动发生在mat-sidenav-content上,并使用document.getElementsByTagName('mat-sidenav-content')[0].scrollTo(0, 0)滚动到路由器事件的顶部。
标签: angular google-chrome scroll