首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角2路由和链路行为

角2路由和链路行为
EN

Stack Overflow用户
提问于 2018-01-29 07:55:22
回答 2查看 42关注 0票数 0

我想问一下关于角2-5路由的问题.

我认为作为它的单页应用程序,当我使用路由时,我发现链接的行为与正常的应用程序不一样,导致页面没有重新加载。

当您单击页面中间的链接时,路由会更改DOM,但您将停留在页面的同一位置。(不作为正常应用程序转到顶部)

那这是正常的吗?还是这件事让我很怀念?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-29 08:00:24

这在角5中是正常的。但是,如果你想改变这种行为,你可以听路由变化,并滚动到顶部。

Guilherme Meireles provides code for doing this

代码语言:javascript
复制
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((e) => {
            if (!(e instanceof NavigationEnd)) {
                return;
            }
            window.scrollTo(0, 0)
        });
    }
}
票数 1
EN

Stack Overflow用户

发布于 2018-01-29 08:08:26

这是“正常的”,因为正如您所说的,角是一个单页应用程序

简化的角度路由允许您停留在同一个页面上,并更改浏览器的行为( documentwindow对象)以适应其行为。

这种行为改变了看待网页的“通常”方式,即1 URL =1服务器生成的页面。

在single的情况下,它不是在每次更改URL时从服务器请求一个页面,而是在启动时请求一个页面(index.html),并使用该URL更改页面的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48496705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档