在ngOnDestroy()上打开模态,而不是重定向到预览页面

时间:2017-12-05 13:10:39

标签: javascript angular

当用户点击浏览器后退按钮时,我想打开一个弹出模式。它不应该将用户重定向到上一页,但应该打开一个弹出窗口并等待用户操作。

ngOnDestroy(){
    this.finishModal.show();
}

目前,它正在重定向到上一页并尝试同时打开弹出窗口,导致重定向到上一页,然后在页面上显示模态的背景。我也试过了preventDefault()。

如何打开模态并停止执行ngOnDestroy()?

2 个答案:

答案 0 :(得分:1)

ngOnDestory不能用于此目的,仅用于清理(如取消订阅事件侦听器或可观察对象)

没有路由器Is there any lifecycle hook like window.onbeforeunload in Angular2?可能会做你想要的,

使用路由器https://angular.io/api/router/CanDeactivate(另请参阅https://angular.io/guide/router#candeactivate-handling-unsaved-changes)可能有效。

答案 1 :(得分:0)

在 ngDestroy 上发出一个事件并在父组件上监听它并打开弹出窗口。 它肯定会起作用。