Вопрос по роутингу в Angular 4

310
11 октября 2017, 09:32

Всем привет! Столкнулся с весьма интересной ситуацией. Имею следующую подписку на событие 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 могу отлавливать нажатия стрелок истории и там же сохранять скролл(там он отображается правильно), но не хотелось бы тащить еще одну переменную со значением скролла.

READ ALSO
Получение данных по связям Eloquent

Получение данных по связям Eloquent

Решаю такую задачуЕсть Разделы (Partition), рубрики (Rubric), записи (Post)

247
Регулярка, только пробелы \s, исключая \n

Регулярка, только пробелы \s, исключая \n

Пытаюсь заменить в строке пробелы повторяющиеся два и более раза на одинарные, вот так:

305
PHP connection fail [требует правки]

PHP connection fail [требует правки]

Парни, пытаюсь подключить serverphp к index

188
Добавляет пустые строки в бд

Добавляет пустые строки в бд

Хочу добавить в бд запись пишу в адресную строку http://project-546564codeanyapp

237