4

私は AngularJS を使用してui-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();

これが更新されたプランカーです

于 2014-02-13T13:13:16.457 に答える