У меня есть несколько ссылок в середине страницы, которые изменяют содержимое в области под ней, используя вложенный маршрутизатор.Мои маршруты, связанные с этой проблемой, выглядят примерно так:
const router = {
mode: 'history',
routes: [
{
path: '/parent',
name: 'ParentComponent',
component: ParentComponent,
children: [
{
path: 'child1',
name: 'Child1',
component: Child1,
},
{
path: 'child2',
name: 'Child2',
component: Child2,
},
],
},
],
}
Проблема заключается в том, что содержимое прокручивается вниз по странице, и когда я нажимаю ссылку на дочерний путь, он переходит наверх.Поэтому я попытался добавить scrollBehavior
, чтобы сохранить положение прокрутки следующим образом:
router.scrollBehavior = (to, from, savedPosition) => {
console.log('savedPosition: ', savedPosition);
if (savedPosition) {
return savedPosition;
}
return { x: 0, y: 0 };
}
Это console.log
всегда выводит null
для меня.При чтении документов говорится, что значение savedPosition
имеет значение только в том случае, если это навигация popstate
.
Есть ли способ заставить ссылки, которые я сделал, выполнить навигацию popstate
или есть другой подход, который я мог бы использовать для сохранения позиции прокрутки, когда я нажимаю на ссылку?