Определить, был ли введен маршрут с помощью кнопки возврата браузера с помощью потокового маршрутизатора

javascript meteor web-applications routing flow-router

115 просмотра

1 ответ

192 Репутация автора

Я создал приложение, используя meteorjs с FlowRouter в качестве роутера.

У меня есть экран защиты контактов, на который перенаправляется пользователь, когда пытается ввести «защищенный маршрут». Затем он запрашивает пин-код и перенаправляет пользователя к шаблону «защищенного маршрута».

Все это прекрасно работает, двигаясь вперед, однако, когда пользователь нажимает кнопку «Назад», конечно же, отображается экран защиты штырька, и необходимо снова нажать кнопку «Назад», чтобы вернуться в предыдущее состояние. Мне нужно, чтобы экран защиты штыря был пропущен или проигнорирован при нажатии назад.

Я подумал о нескольких решениях, но не смог реализовать их.

Возможные решения

  1. В идеале я бы хотел, чтобы перенаправление «защита выводов» загружалось без изменения состояния истории. Это будет означать, что экран, на котором начал пользователь, будет загружаться при нажатии назад.

  2. Если это не работает или не представляется возможным, мне нужно будет найти способ выяснить, нажимал ли пользователь назад, покидая текущий маршрут.

Если кто-то еще сталкивался с чем-то подобным и нашел решение, я был бы очень признателен за помощь. Спасибо

Автор: Aero Источник Размещён: 18.07.2016 04:34

Ответы (1)


1 плюс

554 Репутация автора

Решение

Я сталкивался с чем-то похожим.

Вариант 1. Вы можете создать pinEnteredлогическую переменную, которая переключается в true, когда пользователь успешно вводит пин-код. Тогда просто проверьте эту правдивость в своей логике маршрутизации. Если переменная оценивается как true, вы можете добавить условие, при котором она полностью пропускает эту страницу при нажатии кнопки «Назад».

  • Установите эту переменную условно в маршрутизации для ваших защищенных страниц
  • Проверьте его значение в событии кнопки возврата
Автор: chackerian Размещён: 18.07.2016 06:12
Вопросы из категории :
32x32