Angularjs 带角度ui路由器和ng动画自动滚动到目标视图的滑动视图

Angularjs 带角度ui路由器和ng动画自动滚动到目标视图的滑动视图,angularjs,ng-animate,angular-ui-router,Angularjs,Ng Animate,Angular Ui Router,我正在使用AngularJS的UIRouter和ngAnimate在mobile中创建经典的滑动视图 我发现,在转换开始时,当两个视图都存在于页面上时,如果目标视图不在视图端口中,它将首先跳转到该视图位置,这给了我们如下有趣的效果: 有没有办法避免这种情况?嗯,Angular通常使用$anchorscroll滚动到新视图。可以通过在模块上调用.value('$anchorScroll',angular.noop)禁用,如下所示: var app = angular.module('app',

我正在使用AngularJS的
UIRouter
ngAnimate
在mobile中创建经典的滑动视图

我发现,在转换开始时,当两个视图都存在于页面上时,如果目标视图不在视图端口中,它将首先跳转到该视图位置,这给了我们如下有趣的效果:


有没有办法避免这种情况?

嗯,Angular通常使用$anchorscroll滚动到新视图。可以通过在模块上调用
.value('$anchorScroll',angular.noop)
禁用,如下所示:

var app = angular.module('app', [
        'ui.router',
        'ngAnimate'
    ]).value('$anchorScroll', angular.noop);
然而,UI路由器使用自己的路由器。我通过告诉UI路由器使用(现在已禁用)
$anchorScroll
$uiViewScrollProvider.useAnchorScroll(),禁用了它


Angular UI Router最近更新了其应用程序,以便自动向下滚动到默认加载的新视图。这导致我的应用程序页面被向下滚动加载。要关闭此功能,只需将以下属性添加到ui视图:

<div ui-view="header"  autoscroll="false"></div>


这个答案太过分了。我很难让它正常工作。我使用的是AngularJSV1.2.6和UI路由器v0.2.10。添加autoscroll='false'仍然会导致我的视图加载到页面的一半。根据最近的这个问题,autoscroll应该在默认情况下关闭。您必须使用
autoscroll=“true”
启动它,它已合并到主控中,因此您可以查看它。也许你只需要更新你的版本。