2017-05-04 13 views
5

私は2つのコンポーネントを持っています。顧客および出荷コンポーネント。ユーザーが出荷コンポーネントから顧客コンポーネントに来たとき。私は、お客様のコンポーネントに直接出荷コンポーネントを要求します。角2 get前のページurl

このメソッドを使用します。 this._location.back();からの位置角度/共通。

このメソッドは、常にすべてのページに戻る。しかし、私は出荷コンポーネントから来たときに直接に欲しい。

+1

http://stackoverflow.com/questions/33520043/how-to-detect-a-route-change-in-angular-2/38080657#38080657に示されているように 'pairwise'を使用して、現在およびサービスの前の値 –

答えて

9

あなたの2つのコンポーネントが含まれているあなたの親コンポーネントに以下のコードを挿入します -

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

私はこのコードを試しました。しかし、現在のURLを返します。 –

+0

あなたの2つのコンポーネントを含む親コンポーネントにこのコードを追加します –

+0

私はペアワイズメソッドをコードに追加しました。現在と前の2つのurlを返します。しかし、私はどこでもこれらのURLを使用しませんでした。 –