web-dev-qa-db-ja.com

Angularで現在のルートパス名を取得する最も簡単な方法は何ですか?

現在のルートのパス名を取得する良い方法を探していました。これは私が見つけることができる最も簡単でした。

this.route.snapshot.firstChild.url[0].path

もっと良い方法はありますか?ありがとう!

18
jaruesink

回答ありがとうございます。ここに私がしなければならないことがわかったものがあります。

router.events.subscribe((event: Event) => {
  console.log(event);
  if (event instanceof NavigationEnd ) {
    this.currentUrl = event.url;
  }
});
27
jaruesink

現在のパスを見つける最も簡単な方法は、直接使用することです

this.router.url

または、次のようなイベントを使用して、ルーターの変更ごとに現在のパスを確認できます

this.router.events.subscribe((res) => { 
    console.log(this.router.url,"Current URL");
})

ここでrouterは、このようなコンストラクタで作成されたインスタンスです

constructor(private router: Router){ ... }
25
Pardeep Jain
constructor(private route:ActivatedRoute) {
  console.log(route);
}

または

constructor(private router:Router) {
  router.events.subscribe(...);
}
3