router.events
ストリームを使用してルート変更を検出できます。 (How to detect a route change in Angular 2?)。角度2のURLの変化を検出するにはどうすればよいですか?
ブラウザのURLの変更を検出する方法がわかりません。
router.events
ストリームを使用してルート変更を検出できます。 (How to detect a route change in Angular 2?)。角度2のURLの変化を検出するにはどうすればよいですか?
ブラウザのURLの変更を検出する方法がわかりません。
あなたはLocation
を注入し、ハリーが述べたように、それ
constructor(location:Location) {
location.subscribe(val => console.log(val);
}
を購読することができます。これは、popStateイベント(ルータまたは同様のコードがURLを変更する)についてのみ通知します。
ブラウザURLの変更は、2つの要因によってのみ発生します。前者を購読することができます。後者はアプリケーション全体をリロードし、それを検出することは意味をなさない。 –
コメントありがとうございます。後のケースでは、ユーザーが他の外部URLをクリックしたり、ブラウザのブックマークバーをクリックしたりすることもあります。私のアプリケーションでは、Unsaved Changes確認ダイアログをユーザーに提示するためにこれをキャッチする必要があります。 –