@HostListener Hook verwenden, aber Bestätigungsdialog (fragt: Möchten Sie diese Seite verlassen? ... oder Wollen Sie diese Seite neu laden?) Wird nicht angezeigt .onbeforeunload Bestätigungsdialog wird nicht angezeigt, wenn angular2 @HostListener verwendet wird
Der Code funktioniert, aber der Bestätigungsdialog wird nicht angezeigt.
Hier ist, was ich habe:
@HostListener('window:beforeunload', ['$event'])
public doSomething($event) {
console.log("do I see this?") // <---- this logs to the console.
return "something else";
}
Aber ich das nicht sehen:
Schauen Sie in candeactivate für dieses Ich denke, –
Ich denke, das ist, weil angular Bindings den zurückgegebenen Wert ändern. Wenn Sie 'true' zurückgeben, wird es als' preventDefault() 'verwendet. Ich nehme an, dass Ihr Code, der einen String zurückgibt, sich nicht wie erwartet verhält oder wie 'beforeunload' erfordert. Verwenden Sie stattdessen 'window.addEventListener (...)' statt dessen. –
danke @ GünterZöchbauer wenn ich 'false' zurückgebe, funktioniert es wie erwartet. Aber wie gesagt, es ist durchaus möglich, dass die eckigen Bindungen den Rückgabewert modifizieren. – raneshu