Откройте модал на ngOnDestroy () и не перенаправляйте на страницу предварительного просмотра

1

Я хочу открыть всплывающее окно, когда пользователь нажимает кнопку браузера. Он не должен перенаправлять пользователя на предыдущую страницу, но он должен открыть всплывающее окно и дождаться действия пользователя.

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

В настоящее время он перенаправляется на предыдущую страницу и пытается открыть всплывающее окно одновременно, что приводит к переадресации на предыдущую страницу, а затем на мода появляется мода. Я также попробовал preventDefault().

Как просто открыть модальный и остановить выполнение ngOnDestroy()?

Теги:
angular

1 ответ

1
Лучший ответ

ngOnDestory нельзя использовать для этой цели, только для очистки (например, отписки от прослушивателей событий или наблюдаемых событий)

Без маршрутизатора Есть ли какой-либо крюк жизненного цикла, например, window.onbeforeunload в Angular2? может делать то, что вы хотите,

с маршрутизатором https://angular.io/api/router/CanDeactivate (см. также https://angular.io/guide/router#candeactivate-handling-unsaved-changes) может работать.

  • 1
    canDeactivate сделал свое дело. Спасибо!
  • 1
    Рад слышать, что ты мог заставить это работать :)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню