私は自分のページ内にUIビューを持っています。 いくつかのボタンがクリックされると、ui-viewが読み込まれ、いくつかのHTMLに置き換えられます。 ページをちょうど読み込まれたページの部分にスクロールさせたい。読み込まれたUIビューにスクロールする方法
これは可能ですか? ありがとうございます
私は自分のページ内にUIビューを持っています。 いくつかのボタンがクリックされると、ui-viewが読み込まれ、いくつかのHTMLに置き換えられます。 ページをちょうど読み込まれたページの部分にスクロールさせたい。読み込まれたUIビューにスクロールする方法
これは可能ですか? ありがとうございます
ui-routerモジュールは、デフォルトでui-viewにスクロールするように更新されました。これを防ぐには<div ui-view>
にautoscroll="false"
属性を追加できます。デフォルトの設定はtrue
で、状態が変わるとui-viewにスクロールします。
無効にするのではなく有効にするために自動スクロールを設定する必要があるのは別の方法だと思いますが、これは更新されたui-routerの機能です。
あなたはそれについて読むことができますhere。リンクGithubの問題で
、それはデフォルト値がautoscroll="expr"
であると言うが、私はexpr
は何もしないと、デフォルト値は(より理にかなっている)autoscroll="true"
であることをことを発見しました。
これをお書きいただきありがとうございます。この新しいアップデートは、すべてのページが突然読み込まれてしまったため、私を狂ってしまいました。その理由を理解できませんでした。ありがとうございました! – ac360
ルートを変更すると、ページの上部にスクロールします。
$scope.$on('$routeChangeSuccess', function() {
window.scrollTo(0, 0);
});
このコードをコントローラに入力してください。 (あなたの要件に応じて値を変更してください)
私は '$ stateChangeSuccess'を使う必要がありましたが、うまくいきました。テスト容易性のために '$ window'サービスも使用されました – Chic
私はこれがあなたが探していると思います - http://stackoverflow.com/questions/14712223/how-to-handle-anchor-hash-linking-in-angularjs/14717011#14717011 –