2016-04-20 3 views
0

Я покажу вам вариант использования с угловым & ng-infin. Я прокрутил на 2 страницы, поэтому у меня есть страницы 1, 2 и 3, загруженные в мой SPA. URL-адрес отражает навигацию по странице, поэтому страница = 3.Угловая бесконечная прокрутка: перезагрузка страницы

Теперь я хочу обновить страницу: я бы хотел иметь на моей странице только элементы страницы = 3. Проблема заключается в том, что браузер запоминает предыдущую позицию прокрутки страницы, перезагруженной.

Так вот что происходит: элементы страницы = 3 правильно загружены (ОК), браузер запоминает позицию прокрутки, она переходит в эту позицию (нижняя страница), и это вызывает nginfinite -> ajax-вызов для страницы = 4 (НЕ В ПОРЯДКЕ).

Если бы я был наверху страницы перед обновлением страницы, обновление страницы не вызовет nginfinite.

Так как это зависит от положения прокрутки страницы до того, как оно было переустановлено. Я пробовал с window.scroll(0,-500000) без успеха.

Любые предложения?

+0

Вы используете ngInifiniteScroll? –

+0

@MuliYulzary yes – FrancescoN

+0

Посмотрите на этот https://sroze.github.io/ngInfiniteScroll/documentation.html специфический атрибут 'бесконечный-прокрутка-расстояние' –

ответ

0

Я думаю, вам кажется, что вам нужно какое-то время в браузере, чтобы помочь вам в этом.

Когда вы обновляете страницу, вы теряете все, что знаете о приложении, перед перезагрузкой, и поэтому вы не можете отличить от обычного поведения в первый раз и нежелательного поведения перезагрузки.

Введите текущий номер страницы в localStorage и проверьте localStorage, когда ваше приложение запускается после перезагрузки.

Смежные вопросы