我有两条路线员工列表和主屏幕。在员工列表路线中,我有一个用于添加新员工的组件。我将在对话框中显示该组件。如果用户点击浏览器后退按钮,则不保存更改我需要得到用户的确认。
我尝试使用onbeforeunload
事件
@HostListener('window:beforeunload', ['$event'])
public doSomething($event) {
console.log('do I see this?');
return false;
}
但问题是当我打开对话框并单击浏览器后退按钮时未调用事件。仅在我重新加载页面时调用它然后显示确认。 我想要实现的是当用户点击浏览器后退按钮时,我想向用户显示我的确认对话框。有人请告诉我如何实现这个目标?
答案 0 :(得分:0)
在component.ts文件中尝试以下内容:
import { Component, Input, HostListener } from '@angular/core';
@HostListener('window:beforeunload', ['$event'])
beforeUnloadHander(event) {
return false;
}