4

我正在使用 AngularJSui-routerngAnimate在移动设备中创建经典的滑动视图。

我发现,在页面上同时存在两个视图的过渡开始时,如果目标视图超出了视口,它会首先跳转到该视图位置,这给我们带来了这样有趣的效果:

笨蛋

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

4

2 回答 2

8

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

<div ui-view="header"  autoscroll="false"></div>
于 2014-02-17T06:51:15.257 回答
1

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

var app = angular.module('app', [
        'ui.router',
        'ngAnimate'
    ]).value('$anchorScroll', angular.noop);

但是,UI-Router 使用它自己的。我通过告诉 UI-Router 使用(现已禁用)来禁用它$anchorScroll$uiViewScrollProvider.useAnchorScroll();

这是更新的 plunker

于 2014-02-13T13:13:16.457 回答