終了確認のコンポーネントを実装する方法を知りたいので、ページをリフレッシュするか、タブまたはウィンドウまたは画面から離れるときに確認を実行できるようにしてください。ユーザーがOK
をクリックすると、 NO
をクリックすると、彼は同じ画面に留まりますか?私はここで使用しています角度4の終了時に確認を実行する方法は?
コードは次のとおりです。
import { Component, OnInit, Input, Output, HostListener } from '@angular/core';
@Component({
selector: 'confirmonexit',
templateUrl: './confirm-on-exit.html'
})
export class ConfirmOnExitComponent {
@Input() isDirty: boolean;
public isConfirmed: boolean = false;
@HostListener('window:beforeunload',['$event']) beforeUnloadHander() {
if (this.isDirty) {
let msg: string = 'Are you sure you want to navigate without saving the entered data on the screen ? '
if (confirm(msg)) {
this.isDirty = false;
this.isConfirmed = false;
} else {
this.isDirty = true;
event.preventDefault();
}
}
}
}
appModule added - this component in declarations
html added = <confirmonexit [isDirty]="CreateEditForm.form.dirty"></confirmonexit>
間違いがどこにあるか分かりません。私はこの機能を実行することができません。誰か助けてくれますか?あなたが離れて任意のroute.For例から移動しようとして、あなたは、あなたのフォームを使用している場合
この既存のコードでは使用できませんか? @HostListener( 'window:beforeunload'、['$ event'])を使用しています。 –
どのようなアイデアですか? –
あなたが言及したアプローチは、ユーザーがウィンドウを離れる場合にのみ機能しますが、ユーザーが別のタブに移動すると、単一のページアプリケーションで作業しているのでメソッドは実行されません –