onbeforeunload confirm dialog not showing when angular2 @HostListener is used

raneshu picture raneshu · Mar 23, 2017 · Viewed 26.5k times · Source

Using @HostListener hook, but confirm dialog (that asks: Do you want to Leave this page? ...or Do you want to Reload this page?) is not showing.

The code works, but the confirm dialog is not showing.

Here what I have:

@HostListener('window:beforeunload', ['$event'])
public doSomething($event) {
    console.log("do I see this?") // <---- this logs to the console.

    return "something else";
}

But I don't see this:

enter image description here

Answer

raneshu picture raneshu · Mar 24, 2017

returning false instead of the string "something else" fixes the problem and the confirm dialog is shown.

It's quite possible that angular bindings modify the return value