Angular2:如何在使用angular2路由时找出上一页的URL

use*_*675 13 angular2-routing angular

我正在开发一个angular2应用程序,我使用路由器.我在页面/ myapp /注册.注册后,我将使用导航到/ myapp/login./ myapp/login也可以从我的主页/ myapp导航.所以现在,当用户users/myapp/login我回去了.这可以通过使用location.back()来完成.但是当用户来自/ myapp/signup时,我不想回去.所以我应该检查用户是否来自/ myapp/signup,如果是,我想将它指向其他地方.我如何才能知道以前的网址,以便根据具体情况将用户定向到特定状态?

Gün*_*uer 23

pairwise运营商允许获得当前连同前值

更新  

import 'rxjs/add/operator/pairwise';
import 'rxjs/add/operator/filter';
import { Router, NavigationEnd } from '@angular/router';

export class AppComponent {
    constructor(private router: Router) {
        this.router.events
        .filter(e => e instanceof NavigationEnd)
        .pairwise().subscribe((e) => {
            console.log(e);
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

另请参见如何在Angular中检测路径更改?

原创(超级老)

注入Router和订阅事件并存储它们以供以后参考

constructor(private _router: Router) {
  this._router.subscribe(route => {
    this.nextRoute ...
    this.prevRoute ...
  });
Run Code Online (Sandbox Code Playgroud)


Bob*_*ijt 0

你可以这样做document.referrer

if(document.referrer !== '/myapp/signup'){
    location.back()
}
Run Code Online (Sandbox Code Playgroud)