路线更改视图不会在angular2的新页面中滚动到顶部

时间:2016-10-08 11:10:27

标签: angular routing

我在autoscroll="false"上尝试router-outlet但似乎没有用,是否有默认方法 angular2在没有使用任何第三方库的情况下做同样的事情?

4 个答案:

答案 0 :(得分:6)

在这里找到答案https://stackoverflow.com/a/39601987/5043867

我们可以订阅路线更改事件,并使用

行中的内容滚动到顶部
ngOnInit() {
    this.router.events.subscribe((evt) => {
        if (!(evt instanceof NavigationEnd)) {
            return;
        }
        document.body.scrollTop = 0;
    });
}

答案 1 :(得分:1)

直到Angular 6

这是一种更简洁的方法:

this.router.events.subscribe((ev:any) => {
  if (ev instanceof NavigationEnd) {
    window.scrollTo(0, 0);
  }
});

从Angular 6.1起

您可以在路由器配置中执行此操作。如建议here一样,这可能是将来版本中的规范。

RouterModule.forRoot(routes, {scrollPositionRestoration: 'enabled'})

答案 2 :(得分:1)

Angular最近引入了一项新功能,即在角度路由模块内部进行如下更改

Mail::to($user->email)->send(new activateUser($user));

答案 3 :(得分:-2)

是的,您可以参考 Angular2-router 中提供的 fragments