在Angular 4中,当路由器更改时,页面不会滚动顶部 .
我的解决方案是使用#top放入div,在打字稿中我使用ViewChild来滚动像
<div #top></div>
import { ViewChild, ElementRef } from '@angular/core';
@ViewChild('top') top: ElementRef;
当我启动并加载所有我需要的时候,我打电话
this.top.nativeElement.scrollIntoView();
这适用于PC,但在移动设备中,清晰度 Headers 隐藏( <clr-header>
),当我用移动设备滚动顶部时,滚动 Headers 再次显示,但是给用户带来了糟糕的体验,我希望每次都能显示 Headers .
记住, Headers 是在root上,所有嵌套路由都在“router-outlet”中,所以我在嵌套路由中的Scroll Top解决方案对root不起作用 .
我尝试在root中使用此命令,但不起作用,“滚动顶部”只适用于嵌套路由 .
我已经尝试过以下命令:
window.scrollTo(0, 0)
不行
document.body.scrollTop = 0
不行
this.document.body.scrollTop = 0
(使用Angular DOCUMENT模块)不起作用
还有很多人......有人可以帮忙吗?
1 回答
尝试
这将涵盖所有浏览器,应该可以工作 .