2017-05-04 26 views
5

Tôi có hai thành phần. Các thành phần khách hàng và lô hàng. Khi người dùng đến từ thành phần Lô hàng đến thành phần Khách hàng. Tôi muốn thành phần Khách hàng trực tiếp đến thành phần Lô hàng.Góc 2 nhận url trang trước

Tôi sử dụng phương pháp này. this._location.back(); từ Vị trí góc/chung.

Phương pháp này luôn hướng đến trang sau. Nhưng tôi muốn trực tiếp chỉ khi tôi đến từ thành phần giao hàng.

+1

Bạn có thể sử dụng 'pairwise' như được hiển thị trong http://stackoverflow.com/questions/33520043/how-to-detect-a-route-change-in-angular-2/38080657#38080657 và lưu trữ dòng điện và giá trị trước đó trong một dịch vụ –

Trả lời

9

Chèn mã dưới đây để phần cha mẹ của bạn, trong đó có 2 thành phần của bạn: -

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; 
     }); 
} 

Nó làm việc cho tôi, tôi hy vọng nó sẽ làm việc cho bạn là tốt.

+6

Tôi đã thử mã này. Nhưng nó trả về url hiện tại. –

+0

thêm mã này vào thành phần cha mẹ của bạn, trong đó có 2 thành phần của bạn –

+0

tôi đã thêm phương thức cặp đôi vào mã. Nó trả về hai url hiện tại và trước đó. Nhưng tôi đã không sử dụng những url này ở bất cứ đâu. –