关于angular跳转路由之后不能自动回到顶部的解决方法

Posted yuanchao-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于angular跳转路由之后不能自动回到顶部的解决方法相关的知识,希望对你有一定的参考价值。

Question: angular2 scroll top on router change

当我们在第一个路由滑动到底部当我们点击导航跳转到另一个路由时页面没有回到顶部而是保持上一个路由的滚动位置,基本的解决办法有两种。

第一种解决方法是在组建的ngOnIinit()中进行调换路由后的重置

import  Component, OnInit  from '@angular/core';
import  Router, NavigationEnd  from '@angular/router';

@Component(
    selector: 'my-app',
    template: '<ng-content></ng-content>',
)
export class MyAppComponent implements OnInit 
    constructor(private router: Router)  

    ngOnInit() 
        this.router.events.subscribe((evt) => 
            if (!(evt instanceof NavigationEnd)) 
                return;
            
            window.scrollTo(0, 0)
        );
    

第二种解决方法是在import中对路由进行注入的时候设置scrollPositionRestoration参数(angular6之后)。

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

以上是关于关于angular跳转路由之后不能自动回到顶部的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

react-router 4 切换路由跳转到页面顶部

ui-router怎么跳转路由

angular点击路由不跳转是怎么解决

我的路由器设置好了之后不跳转网页,也不能上网。

Vue点击按钮回到顶部

angular ,ngRouter 新增了 路由以后 更新到测试环境 不能跳转到正确页面。而是跳转到第一个路由页面?