framework7

Open full view…

Прыжки по истории и сохранение позиции скрола

scdewt
Tue, 29 Nov 2016 20:57:52 GMT

Привет! В приложении у меня возникла необходимость мгновенно вернуться на несколько страниц назад с сохранением скрола на возвращаемой странице. Пример: index page (scroll position 411px) -> page1 (scroll 0) -> page2 (scroll 0) -> index (scroll position 411px) То есть я со страницы index попадаю на page1, потом с page1 на page2, а потом мне надо вернуться на index в туже scroll-позицию, с которой я ушел на page1. Я смог найти только вариант возвращения back + force: views.router.back({pageName: "index", force: true}); - оно возвращает назад, но теряется позиция скрола. То есть меня возвращает на самый верх страницы index. Если сделать views.router.back() на page2, а потом сделать views.router.back() на page1 - то позиция на index сохраняется. Но такой вариант не подходит, так как мне надо вернуться на index минуя page1. Каким образом этого можно достичь?

scdewt
Fri, 06 Jan 2017 15:52:22 GMT

Отвечу сам себе - нормального решения не нашел, потому пришлось выкручиваться через костыли. Для возврата назад через страницу использую --- views.router.back({pageName: “index”, force: true}); --- А для сохранения позиции скрола пришлось сделать костыль - сохранять позицию скролла на нужной странице в момент ухода с нее. А когда возвращаюсь на эту страницу, то через onPageBeforeAnimation выставляю скролл обратно.

alexander777
Fri, 13 Jan 2017 22:05:21 GMT

Т.е. ты через --- views.router.back({pageName: “index”, force: true}); --- сразу попадаешься на index с страницы page?

NikolayKuznetsov
Sat, 14 Jan 2017 05:06:01 GMT

> @scdewt > А для сохранения позиции скрола пришлось сделать костыль – сохранять позицию скролла на нужной странице в момент ухода с нее. А когда возвращаюсь на эту страницу, то через onPageBeforeAnimation выставляю скролл обратно. похоже только так