272 votes

Changement d’itinéraire n ' t défilement en haut dans la page nouveau

J'ai trouvé certains indésirables, au moins pour moi, le comportement lorsque les changements de route. Dans l'étape 11 du tutoriel http://angular.github.io/angular-phonecat/step-11/app/#/phones vous pouvez voir la liste des téléphones. Si vous faites défiler vers le bas et cliquez sur l'une des dernières, vous pouvez voir que le défilement n'est pas au top, la place est un peu dans le milieu.

J'ai trouvé ça dans une de mes applications, aussi, et je me demandais comment puis-je obtenir ce pour faire défiler vers le haut. Je peux le faire mannually, mais je pense qu'il devrait y avoir d'autres moyen élégant de faire ce que je ne sais pas.

Alors, est-il un moyen élégant pour défiler vers le haut lorsque les changements de route?

Merci à l'avance!

582voto

konradkiss Points 116

Le problème est que votre ngView conserve la position de défilement lors du chargement d’une nouvelle vue. Vous pouvez demander à `` pour « faire défiler la fenêtre après que l’affichage est mis à jour » (les docs sont un peu vagues, mais défilement ici signifie le défilement vers le haut de la nouvelle vue).

La solution est d’ajouter `` à votre élément de ngView :

47voto

xmaster Points 1

Il suffit de mettre ce code s’exécute

13voto

mg1075 Points 6113

Pour info pour ceux qui viennent à travers le problème décrit dans le titre (comme moi) qui est aussi à l'aide de le AngularUI Routeur plugin...

Comme l'a demandé et répondu AINSI à la question, l'angulaire de l'interface utilisateur du routeur saute à bas de la page lorsque vous changer de route.
Ne peut pas comprendre pourquoi le chargement de la page en bas? Angulaire de l'INTERFACE utilisateur-Routeur autoscroll Problème

Cependant, comme la réponse des états, vous pouvez désactiver ce comportement en disant autoscroll="false" sur votre ui-view.

Par exemple:

<div ui-view="pagecontent" autoscroll="false"></div>
<div ui-view="sidebar" autoscroll="false"></div> 

http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.directive:ui-view

7voto

MidoDev Points 392

vous pouvez utiliser ce javascript

3voto

asp_net Points 1129

Affectant autoScroll la valeur true n’a pas le truc pour moi, donc j’ai choisi une autre solution. J’ai construit un service que les crochets à chaque fois que les changements de route et qui utilise le service de $anchorScroll intégré pour défiler vers le haut de la page. Fonctionne pour moi :-).

Service :

Inscription :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X