在以角度导航时,页面不会滚动到顶部

时间:2018-06-18 05:54:17

标签: html css angular

在我的应用程序中,当路由URL时,加载的页面不会自动滚动到顶部。它与前一个屏幕保持相同的位置。

2 个答案:

答案 0 :(得分:0)

app component中试试这个:

TS:

import { Router ,NavigationEnd} from '@angular/router';
export class AppComponent{
    constructor(private router: Router) {}

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

<强> HTML:

<router-outlet></router-outlet>

答案 1 :(得分:0)

在你的app.component.ts

中试试这个
import { Component } from '@angular/core'; 
import { Router, NavigationEnd } from '@angular/router'; 
import { Subscription } from 'rxjs/Rx';

@Component({
    moduleId: module.id, 
    selector: ‘my-app’,
    template: `<router-outlet></router-outlet>`
})

export class AppComponent {
    routerSubscription: Subscription;

    constructor(private router: Router) {}

    ngOnInit() {
        this.routerSubscription = this.router.events
            .filter(event => event instanceof NavigationEnd)
            .subscribe(event => {
                document.body.scrollTop = 0;
            });
    }

    ngOnDestroy() {
        this.routerSubscription.unsubscribe();
    }
}

从app.component.html

中删除<router-outlet></router-outlet>