Всплывающее окно перед тем, как пользователь нажимает «назад» в браузере - PullRequest
0 голосов
/ 28 марта 2019

Попытка получить сообщение для пользователя, прежде чем он нажмет кнопку назад в браузере и выйдет из приложения.в моем приложении пользователь не может вернуться, если он не использует кнопки внутри приложения.поэтому я хочу всплыть какое-то сообщение, когда пользователь использует кнопку "Назад" из браузера.

Мне удалось получить событие нажатия кнопки "Назад" , но я не могу получить всплывающее окно с всплывающими подсказками после .

window.onpopstate = function (e) {

  this.dialog.open(PopupComponent, {
    data: {
      data: optionsBox,
      hint: 'test',
    }
  });
}

Ошибка получения: Property 'dialog' does not exist on type 'WindowEventHandlers'.ts(2339)

1 Ответ

0 голосов
/ 29 марта 2019

Это происходит потому, что функция JavaScript создает новый контекст, где ваша служба диалога недоступна. Чтобы избежать этого, вам нужно использовать функцию стрелки, которая сохраняет текущий контекст.

window.onpopstate = (e) => {
  this.dialog.open(...);
}
...