Я видел несколько вопросов по SO, которые относятся к моей проблеме, но ни один из них не идентичен, и их решения не работают для меня, или они остаются без ответа (например, этот вопрос .
Я работаю над приложением Vue.js, которое включает в себя страницу списка. Когда пользователь нажимает на один из элементов в списке, маршрутизатор переходит на новую «страницу сведений». Затем, когда пользовательвозвращается (либо через кнопки браузера, либо через ссылку на странице, используя window.history.back()
, я использую свойство scrollBehavior
маршрутизатора, чтобы вернуть пользователя в исходное положение:
scrollBehavior: (to, from, savedPosition) => {
if (savedPosition) {
return savedPosition;
};
return { x: 0, y: 0 };
};
К сожалению, когда пользователь переходит на страницу сведений, страница возвращается на верхнюю часть окна до перехода к компоненту страницы сведений, а затем, когда пользователь возвращается на страницу списка, savedPosition
равно { x: 0, y: 0 }
, что означает, что пользователь не вернулся в исходное положение.
Есть ли способ заставить vue-router сохранить положение компонента страницы списка?Связано ли это с тем, что страница переходит в верхний правый угол перед переходом к компоненту страницы сведений?
Если требуется дополнительная информация, пожалуйста, спросите.