В разделе списка добавьте хук beforeRouteLeave, сохраните в store (или еще где) текущий скролл.
В настройках роутера можно добавить в
scrollBehavior (
еще) проверку на наличие сохраненного скролла и, при положительно результате, возвращать
{ y: <сохраненное значение> }
.
У данного подхода, правда есть пара минусов:
- при одном и том же URL скролл может оказаться в разных местах;
- может получиться так, что за время перехода на главную и обратно, изменились данные и высота прокрученных блоков.
Поэтому, во время скролла лучше сохранять промотанные якоря (id) и делать переходы уже с использованием хэша в URL.