Angular JS ng-view изменить положение прокрутки магазина

Я использовал нажатие кнопки, чтобы изменить маршрут на следующую страницу. Angular JS сохраняет положение прокрутки и не прокручивается до верхней части ng-представления. 1. Отключение $anchorScroll не работает 2. Использование прокрутки окна не работает

$rootScope.on("$routeChangeSuccess", function(){
     window.scrollTo(0,90);
})

Однако, чтобы сохранить заголовок исправления на iPad, работает следующая прокрутка окна.

$(document).on('blur', 'input, textarea', function() {
                    setTimeout(function() {
                        window.scrollTo(document.body.scrollLeft,document.body.scrollTop);
                    }, 0);
                });

Какие-либо предложения? Как очистить сохраненные позиции прокрутки с помощью углового представления js?


person user2263197    schedule 07.05.2014    source источник


Ответы (3)


Вам нужно не отключить anchorscroll, а включить его. Вы можете добиться того, чего хотите, используя следующий код:

<div data-ng-view data-autoscroll="true"></div>

or:

<div data-ng-view data-autoscroll></div>

как указано в документах по AngularJS.

person Rafael    schedule 12.08.2014

Незначительное обновление ответа @Rafael.

Начиная с Angular 1.3.14 вы можете использовать более простой синтаксис, чтобы включить автопрокрутку вверх при переключении представлений с помощью ngView:

<div ngView autoscroll></div>

Документы Angular

person Alex Yursha    schedule 26.02.2015

Вы пытались установить для автопрокрутки значение false в элементе ng-view?

<div data-ng-view data-autoscroll="false"></div>
person aet    schedule 07.05.2014
comment
Вам не нужно отключать anchorscroll, но включите его. По умолчанию он отключен. - person Rafael; 12.08.2014