角2では、ブラウザを戻すより良い方法があります。 例:戻るをクリックすると、確認ページが表示されたら確認ダイアログボックスが表示され、ページXにリダイレクトされている場合は同じページに留まります。角を2に戻して制御するブラウザ
location.onPopState()を使用すると、最終的にバックリダイレクトが行われるため、ブラウザの完全なコントロールはできません。
上記の動作はauthguardを使用して行うことができますか?angular2ルーティングのcanActivate?
角2では、ブラウザを戻すより良い方法があります。 例:戻るをクリックすると、確認ページが表示されたら確認ダイアログボックスが表示され、ページXにリダイレクトされている場合は同じページに留まります。角を2に戻して制御するブラウザ
location.onPopState()を使用すると、最終的にバックリダイレクトが行われるため、ブラウザの完全なコントロールはできません。
上記の動作はauthguardを使用して行うことができますか?angular2ルーティングのcanActivate?
あなたが探しているのはcanDeactivate
ガードです。ビクターは彼の本でこれをこう書いています:
canDeactivateガードは他とは異なります。その主な目的は、許可を確認することではなく、 の確認を求めることです。これを説明するために、ユーザーが保存されていない変更を含む作成ダイアログを閉じたときに、確認を依頼するようにアプリケーションを変更しましょう。
彼はその後、SaveChanges
ガードを行う方法を共有することになります:
canDeactivate(component: ComposeCmp, route: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Promise<boolean> {
if (component.unsavedChanges) {
return this.dialogs.unsavedChangesConfirmationDialog();
} else {
return Promise.resolve(true);
}
}
私は非常に本を買ってお勧めします。 https://leanpub.com/router