首页 > 其他 > 详细

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

时间:2019-09-16 13:04:02      阅读:129      评论:0      收藏:0      [点我收藏+]

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跳转路由之后不能自动回到顶部的解决方法

原文:https://www.cnblogs.com/yuanchao-blog/p/11526685.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!