フォームにビュー(角度)がある場合。ユーザーがそこから離れようとすると、確認メッセージが表示されます。どうやってやるの?角度:ビューに変更が加えられた場合はルート変更を防止します
9
A
答えて
12
あなたは
import {Injectable, Inject} from '@angular/core';
import { CanDeactivate } from '@angular/router';
import {ViewthatyouwantGuard} from './path to your view';
@Injectable()
export class ConfirmDeactivateGuard implements CanDeactivate<ViewthatyouwantGuard> {
canDeactivate(target: ViewthatyouwantGuard) {
if (target.hasChanges) {
return window.confirm('Do you really want to cancel?');
}
return true;
}
}
//hasChanges - function in 'ViewthatyouwantGuard' which will return true or false based on unsaved changes
and in your routing file provide root like
{path:'rootPath/', component: ViewthatyouwantGuard, canDeactivate:[ConfirmDeactivateGuard]},
3
CanDeactivate
を使用できます。 canDeactivate
にアクセス可能なサービスにステータスを渡す必要があります。
関連する問題
- 1. 角度2:ビューの変更が、ルートはボタン
- 2. 角度変更ビューURLパラメータ
- 3. アドレスバーが角度2でルート変更を更新しない
- 4. 角度コンパイルHTMLと変更を防ぐ
- 5. ラベルが等しい場合変更ビュー
- 6. 角度流星:モデル値の変更はビューを変更しません
- 7. 角度2ネストされたコンポーネントのルートが変更されています
- 8. keyboardWillShowイベントでさらに変更が加えられました
- 9. Webルートの変更時にセッション終了を防止する
- 10. モデルが変更された場合にループを停止
- 11. JavaScript:ファイル入力onclickは、ユーザーがconfirm()をキャンセルした場合に変更を防止します
- 12. ブラウザが更新された場合、URLを変更します
- 13. Entity Frameworkのモデルが変更された場合は、テーブルを変更します
- 14. "hg revert"の後に変更が加えられましたか?
- 15. なぜsingleles.phpに変更が加えられた場合でも、私のフッターがサイドバーに移動しますか?
- 16. 各ビューで変更される場合と変更されない場合があるグローバル変数Laravel 5.2
- 17. CheckboxColumnの色を変更した場合、変更します。
- 18. boto3バージョンとファイルに変更が加えられた場合に追加する追加のファイル
- 19. 防止カーソルの変更
- 20. 変更角度インデックスラベルが
- 21. 角度2 - ビューで変数が更新されない
- 22. "変更が加えられました" notifycation
- 23. どのような変更が加えられましたか?
- 24. アンドロイドソフトキーボードがアクティブな場合、ウェブページのビューポートのサイズ変更を防止する
- 25. ハッシュを変更したときのページスクロールを防止します。
- 26. 角度属性ディレクティブ追加NG-変更
- 27. 変更されたjarを使用したJavaアプリケーションの防止
- 28. データベースに変更が加えられると、radgridを更新しますか?
- 29. スピナーが変更された場合
- 30. 角度2 - コンポーネントのプロパティは変更されますが、ビューは更新されません。
ようtypescriptですを使用してcanDeactivateを実装することができますがStackOverflowのへようこそ。質問には、達成しようとするもの、試したこと、失敗した場所を示すコードが含まれている必要があります。 SOはコードサルのコミュニティではありません;-) –