我想知道当用户单击您的单页应用程序中的另一个模块时,如果某个模块上有未保存的数据,是否可以触发请假确认。并且,如果您还可以在用户刷新或离开网页时触发此操作。您将如何实施?
谢谢!
答案 0 :(得分:1)
使用CanDeactivate可以轻松实现路由选择的确认。
刷新和x
标签会有些棘手。您将必须将侦听器添加到窗口事件beforeunload
。
对于给定的组件,这样的事情可能起作用:
@HostListener('window:beforeunload', ['$event'])
unloadHandler(event: Event) {
// Your logic on beforeunload
}