Есть ли способ получить доступ к предыдущему маршруту/инструкции с маршрутизатора Durandal.js? Я знаю, что могу сделать router.navigateBack()
, чтобы фактически вернуться назад, но я хочу знать маршрут, по которому я буду возвращаться, прежде чем запускать навигацию.
Как получить доступ к предыдущему маршруту с роутера Durandal
Ответы (1)
Боюсь, не напрямую.
router.navigateBack() определен в router.js как
router.navigateBack = function() {
history.navigateBack();
};
А history.navigateBack() определен в заголовке history.js как
history.navigateBack = function() {
history.history.back();
};
и history.history — это псевдоним, определенный выше для window.history, который является частью браузера и может вызвать проблемы с безопасностью, если его раскрыть.
Если вы хотите иметь эту функциональность, вам придется реализовать ее самостоятельно. Возможно, перехватив router.navigate()
и router.navigateBack()
.
person
Maleki
schedule
07.04.2016
Это имеет смысл. Я надеялся, что у маршрутизатора Durandal есть какой-то способ творить там магию, поскольку это одностраничное приложение, но, поскольку на самом деле он просто реализует историю браузера, я вижу, что это невозможно.
- person jbgarr; 12.04.2016
Да, я бы тоже хотел. Кстати, если вы считаете, что мой ответ правильный, пожалуйста, отметьте его как правильный. Спасибо.
- person Maleki; 19.04.2016