Javascript 角度9如何获取上一条路线路径

Javascript 角度9如何获取上一条路线路径,javascript,angular,typescript,routes,angular-routing,Javascript,Angular,Typescript,Routes,Angular Routing,我需要你的帮助才能找到之前的路线。我正在使用下面的链接得到它,但它不会在第一时间触发 我使用了路线识别和导航识别,但没有得到 我在构造函数和ngOnInit中调用了这个方法,但每次都不会在第一时间触发 有没有办法,我可以得到 谢谢…您可以尝试navigationStart来解决第一次无法获取上一条路线的问题 您可以参考下面的代码行,了解如何实现这一点 ngOnInit(){ this._router.events.filter(e => e instanceof Navigati

我需要你的帮助才能找到之前的路线。我正在使用下面的链接得到它,但它不会在第一时间触发

我使用了路线识别和导航识别,但没有得到

我在构造函数和ngOnInit中调用了这个方法,但每次都不会在第一时间触发

有没有办法,我可以得到


谢谢…

您可以尝试navigationStart来解决第一次无法获取上一条路线的问题

您可以参考下面的代码行,了解如何实现这一点

ngOnInit(){
    this._router.events.filter(e => e instanceof NavigationStart )
      .bufferCount(2,1).subscribe(e => {
        if(e !== null && e !== undefined) this.orginalPath = e[0]['url'].substr(1)
    });
  }
即使您可以尝试方法pairwise(),如果它可以解决您的问题

router.events
  .pipe(
    filter(e => e instanceof NavigationEnd),
    pairwise() // check it's second route load
  )
  .subscribe((e: any[]) => {
    console.log(e);
  });

您可以尝试navigationStart来解决第一次无法获取上一条路线的问题

您可以参考下面的代码行,了解如何实现这一点

ngOnInit(){
    this._router.events.filter(e => e instanceof NavigationStart )
      .bufferCount(2,1).subscribe(e => {
        if(e !== null && e !== undefined) this.orginalPath = e[0]['url'].substr(1)
    });
  }
即使您可以尝试方法pairwise(),如果它可以解决您的问题

router.events
  .pipe(
    filter(e => e instanceof NavigationEnd),
    pairwise() // check it's second route load
  )
  .subscribe((e: any[]) => {
    console.log(e);
  });

Router
类公开了一个方法:

getCurrentNavigation():导航|空{
返回此.currentNavigation;
}
属于
导航类型

private currentNavigation:Navigation | null=null;
导航
的定义可以看出,您可以使用以下属性访问以前的导航:

previousNavigation:Navigation | null;

因此,您可以使用此属性获取以前的路径。

路由器类公开了一个方法:

getCurrentNavigation():导航|空{
返回此.currentNavigation;
}
属于
导航类型

private currentNavigation:Navigation | null=null;
导航
的定义可以看出,您可以使用以下属性访问以前的导航:

previousNavigation:Navigation | null;

因此,您可以使用此属性获取上一个路径。

console.log('prev:',event.previousUrl)==>console.log('prev:',this.previousUrl)
console.log('prev:',event.previousUrl)==>console.log('prev:',this.previousUrl)
感谢回复@Minal Shah…它尝试了你的部分…但根本不起作用…感谢回复@Minal Shah…它尝试了你的部分…但根本不起作用…当我使用它时,我得到了“无法读取null的属性'previousNavigation'。@Dawid你如何使用它?我得到了“无法读取null的属性'previousNavigation'”我用这个的时候。@Dawid你怎么用?