我有一个角度应用程序,它是一种在其中托管子应用程序的主应用程序。子应用程序也是角度应用程序。我加载子应用程序的方式是通过 iframe。
子应用程序显示为列表,当我单击选项卡时,该应用程序被加载。当我对应用程序中的数据进行一些更改时,如果我单击另一个子选项卡,我想显示一条警告消息,指出“更改将丢失”。我可以通过使用 beforeunload 事件来实现它,如下所示。我可以检查是否有任何未保存的更改并显示警告弹出窗口。
@HostListener('window:beforeunload', ['$event'])
unloadNotification($event: any) {
if (**my logic here) {
$event.returnValue =true;
}
}
唯一的问题是,当我单击另一个子选项卡时,主机应用程序会突出显示该子选项卡,然后显示警告弹出窗口。如果我单击弹出窗口上的停留按钮,我可以在我想要的子选项卡上,但在主机应用程序上,另一个子选项卡会突出显示。因此,如果我想留在当前子选项卡上,我试图找到一种不突出显示另一个选项卡的方法。卸载前的东西。