如何在Angular 5中获取当前路线

Kri*_*hna 5 typescript angular-routing angular

我用{ provide: LocationStrategy, useClass: HashLocationStrategy },我的app.module.ts。但是,当我给this.route.url它总是包含/不管我在/home/dashboard/profile

我需要获取特定的路线值

constructor(public router:Router) {} alert(this.router.url);

Par*_*ain 8

您的route实例应该来自Router

constructor(
    private router: Router
  ) { }

this.router.url // this must contains your full router path
Run Code Online (Sandbox Code Playgroud)

  • 不。我只得到/ (2认同)

gui*_*efd 5

不确定这是否适用于v5,但仍可能会有所帮助

您也可以订阅路由器事件NavigationEnd,这似乎是始终获取当前URL的最佳方法。

重要说明:
-确保你把这个代码在contructor()该的app.component.ts文件,为了总能获得最后的URL值。


// file: src/app/app-component

  export class AppComponent {
  constructor(private router: Router) {

    // listen to events from Router
    this.router.events.subscribe(event => {
      if(event instanceof NavigationEnd) {
        // event is an instance of NavigationEnd, get url!  
        const url = event.urlAfterRedirects;
        console.log('url is', url);
      }
    })

  }
}
Run Code Online (Sandbox Code Playgroud)