Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度JS ng视图更改存储滚动位置_Angularjs_Angularjs Scope_Ng View - Fatal编程技术网

Angularjs 角度JS ng视图更改存储滚动位置

Angularjs 角度JS ng视图更改存储滚动位置,angularjs,angularjs-scope,ng-view,Angularjs,Angularjs Scope,Ng View,我用按钮点击来改变到下一页的路线。角度JS保留滚动位置,不会滚动到ng视图的顶部。 1.禁用$anchorScroll不起作用 2.使用“窗口滚动到”不起作用 $rootScope.on("$routeChangeSuccess", function(){ window.scrollTo(0,90); }) 然而,为了在iPad上保留补丁标题,下面的窗口滚动条可以工作 $(document).on('blur', 'input, textarea', function() {

我用按钮点击来改变到下一页的路线。角度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);
                });

有什么建议吗?如何通过angualar js view清除存储的滚动位置?

您是否尝试在ng view元素上将autoscroll设置为false

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

您想要的不是禁用anchorscroll,而是启用它。您可以使用以下代码实现所需:

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

或:



正如@Rafael答案的小更新所指出的那样

从Angular 1.3.14开始,在使用
ngView
切换视图时,可以使用更简单的语法启用自动滚动到顶部:

<div ngView autoscroll></div>


您不必禁用anchorscroll,但可以启用它。默认情况下,它处于禁用状态。
<div ngView autoscroll></div>