Всем привет! Столкнулся с весьма интересной ситуацией. Имею следующую подписку на событие RoutesRecognized:
router.events.filter(e => e instanceof RoutesRecognized)
.pairwise()
.subscribe((e: [RoutesRecognized, RoutesRecognized]) => {
this.prevUrl = e[0].url;
this.saveScroll(this.prevUrl, window.pageYOffset);
});
Подписываюсь для того, чтобы при переходе на другую страницу(компонент) сохранялся url и значение scroll. Делаю для того, чтобы потом по возвращении на страницу - восстановить позицию скролла.
Подвох в том, что если переходить по ссылкам - все отлично записывается. Но если перейти по стрелкам браузера(история), то адрес страницы сохраняется правильный, а вот значение скролл берется не с текущей страницы, на которой была нажата эта самая стрелка, а с конечной, на которую перейдем в итоге. Не могу разобраться, с чем это связано. Через подписку на Location могу отлавливать нажатия стрелок истории и там же сохранять скролл(там он отображается правильно), но не хотелось бы тащить еще одну переменную со значением скролла.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости