如何获得在angular2以前的路线,所以一些处理使导航回到以前的URL

如何获得在angular2以前的路线,所以一些处理使导航回到以前的URL

问题描述:

后,我有一个网页心愿的选择,现在如果用户没有登录并点击心愿列表按钮,然后用户将被重定向登录页面,但成功的用户登录后,我想让用户到之前的路由状态,用户点击wishlist按钮?如何获得在angular2以前的路线,所以一些处理使导航回到以前的URL

我尝试使用路由器的事件,如RoutesRecognized但如果我访问它激发了登录页面,第二次是没有得到发射了第一次。任何建议比请不要帮助。路由器事件的

我甚至使用成对()方法,但是这也触发第二次不是第一次,也就是如果我回到第1页和重新定位到第2页,此方法会激发起来。它根本没有得到从第1页解雇了在第一次访问 - >第2页

+0

的可能的复制[如何去角2回最后一页(https://*.com/questions/35446955/how-to-go-back-last-page-in -angular-2) – Alex

为了实现最可靠的方式返回到以前的视图角度,你必须:

  • 进口{}定位从“@角/常见;上部件构造

  • 进样的位置:

    构造( 私人_location:位置 ){}

  • 回拨()方法在所期望的功能:

    public goBack(){ this._location.back(); }

+0

这工作!谢谢。 – user5309516

您可以使用angulars RouterStateSnapshot https://angular.io/api/router/RouterStateSnapshot

import { RouterStateSnapshot } from '@angular/router'; 

constructor(state: RouterStateSnapshot) { } 

this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } 
+0

使用此引发错误我没有RouterStateSnapshot的供应商!所以我使用这个const快照:RouterStateSnapshot = router.routerState.snapshot;但是这给我只有当前路线状态不是以前。根据你,我应该在哪里我的代码? – user5309516