1. ホーム
  2. angular

[解決済み] Angularで前のページのURLを決定する方法は?

2022-05-13 09:27:58

質問

現在、次のようなURLのページにいるとします。 /user/:id . このページから次のページに移動します。 :id/posts .

さて、前の URL が何であるかを確認する方法はあるでしょうか、つまり /user/:id .

以下は私のルートです。

export const routes: Routes = [
  { 
    path: 'user/:id', component: UserProfileComponent
  },
  {  
    path: ':id/posts', component: UserPostsComponet 
  }
];

どのように解決するのですか?

ルートの変更を購読し、現在のイベントを保存して、次のイベントが発生したときにそれを使用できるようにすることができます。

previousUrl: string;
constructor(router: Router) {
  router.events
  .pipe(filter(event => event instanceof NavigationEnd))
  .subscribe((event: NavigationEnd) => {
    console.log('prev:', event.url);
    this.previousUrl = event.url;
  });
}

参照 Angularでルート変更を検出する方法は?