2017-05-04 53 views
5

我有两个组件。客户和货运组件。当用户从Shipment组件到Customer组件时。我想将客户组件直接发送到发货组件。Angular 2得到前一页的网址

我使用这种方法。 this._location.back(); from Location angular/common。

这种方法每个总是直接指向背页。但是我希望直接来自发货组件。

+1

您可以使用'pairwise',如http://stackoverflow.com/questions/33520043/how-to-detect-a-route-change-in-angular-2/38080657#38080657中所示,并存储当前和以前的服务价值 –

回答

9

插入下面的代码到你的父组件,其中包含你的两个部分组成: -

import { Router, NavigationEnd } from "@angular/router"; 

previousUrl:string; 
constructor(private router: Router) { 

    router.events 
     .filter(event => event instanceof NavigationEnd) 
     .subscribe(e => { 
      this.previousUrl = e.url; 
     }); 
} 

它的工作对我来说,我希望它会为你工作为好。

+6

我试过这段代码。但它返回当前的网址。 –

+0

将此代码添加到您的父组件,其中包含您的2个组件 –

+0

我将代码中的pairwise方法添加进去。它返回两个当前和前一个url。但我没有在任何地方使用这些网址。 –