私は AngularJS を使用してui-router
、ngAnimate
モバイルで従来のスライド ビューを作成しています。
ページに両方のビューが存在する遷移の開始時に、ターゲット ビューがビュー ポートの外にある場合、最初にそのビュー位置にジャンプすることがわかりました。これにより、次のような面白い効果が得られます。
とにかくこれを回避する方法はありますか?
私は AngularJS を使用してui-router
、ngAnimate
モバイルで従来のスライド ビューを作成しています。
ページに両方のビューが存在する遷移の開始時に、ターゲット ビューがビュー ポートの外にある場合、最初にそのビュー位置にジャンプすることがわかりました。これにより、次のような面白い効果が得られます。
とにかくこれを回避する方法はありますか?
Angular UI-Router は最近アプリを更新し、デフォルトでロードされた新しいビューに自動的にスクロールするようにしました。これにより、アプリのページがスクロールダウンしてロードされていました。これをオフにするには、次の属性を ui-view に追加するだけです:
<div ui-view="header" autoscroll="false"></div>
通常、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();