私はそれを表示した後、ページ上の要素にスクロールしようとしています。 I.私は非常に長いユーザーリストを持っており、リストとして表示しています。各要素には、クリックできる編集アイコンがあります。クリックすると、ページの上部にあるユーザーフォームが表示されます。私はその場所にスクロールしたい。編集ユーザーのクリックでangularjsにスクロール
// helper method to scroll
$scope.scrollTo = function (id) {
$location.hash(id);
$anchorScroll();
}
:
$scope.editUser = function (user) {
$scope.user = user; // set user
$scope.setShowUserForm(true); // show edit form
$scope.scrollTo('admin-form'); // scroll to the form
}
これが初めて除いて素晴らしい作品。私はDOMをチェックし、私の 'user-form'要素はDOMにありますが、私が望むのは隠されています。編集ユーザーをクリックすると、初めてスクロールが機能しなくなります。初めてそれが失敗した後、すべては問題ありません。何が変わったのか分かりません。
また、デフォルトで表示するフォームを設定して、DOM内にあることがわかり、編集をクリックすると初めて表示されるようにしました。それも私の問題を解決しませんでした。 DOM内であろうとなかろうと、最初のスクロールが隠れているかどうかは分かりません。
私が間違っていることは何ですか?
編集:
私は何が起こっているか知っていると思うが、私はそれを解決する方法は考えています。私は自分のアプリケーションでルーティングを使用しています。
/#/メイン /#/ adminに私はそれにスクロールを使用しています、私の管理ページが問題を引き起こしている
その:私のようなルートを持っています。あるとき
/#/管理#管理者-形式:ここで私はまでスクロールしたいHTMLです:私はそれをスクロールするために、角度を使用する場合に問題がある
<div id="admin-form">
...
</div>
はに私のURLを変更しますそれはルートコントローラを押して、スクロールが起こらない理由である私の管理ページをリロードするように思えます。一度私は/#/ admin#admin-form urlにいます。角度は私のルートに変更が見られず、ページをリロードしないので、スクロールが機能します。しかし、私のURLを/#/ adminに戻して、スクロールを実行するボタンをクリックすると、URLが/#/ admin#admin-formに再度変更されます。
これは予期したとおりだと確信していますが、修正方法はわかりません。もしできれば。
もっと多くのコードが表示されます。私は指示の中でこれをやっていると思いますか? –