recherche

Maison  >  Questions et réponses  >  le corps du texte

angular.js - 查看详情以后,返回列表页没有停留在原先查看的地方-angularJS问题的解决办法?求大神指教

查看详情以后,返回列表页没有停留在原先查看的地方-angularJS问题的解决办法?求大神指教

黄舟黄舟2744 Il y a quelques jours593

répondre à tous(1)je répondrai

  • ringa_lee

    ringa_lee2017-05-15 16:55:07

    Si votre page de liste est une page paginée, alors vous devez enregistrer le numéro de page de la page sur laquelle vous vous trouvez, peut-être dans l'URL, puis à votre retour, lisez le numéro de page à partir de l'URL et chargez les données de celle-ci. numéro de page.
    Si votre page de liste est une page très longue et que vous devez revenir à la position d'origine, vous devrez peut-être extraire un service pour enregistrer la position de l'utilisateur sur cette page, et le lire à chaque fois que vous entrez dans ce service, puis <🎜. > cet endroit. scrollTo Si votre page de liste n’a pas de pagination et n’est pas très longue, il est préférable de revenir en haut de la page.

    Pour les pages longues :

    js// PagePosition Service
    angular.module('app').factory('PagePosition', function() {
        var _top = 0;
        var _left = 0;
    
        return {
            getPosition: function() {
                return {
                    top: _top,
                    left: _left
                }
            },
            setPosition: function(top, left) {
                _top = top;
                _left = left;
            }
        }
    });
    

    Injectez ce service dans la vue ou la directive dont vous avez besoin, modifiez la position dans l'événement de défilement utilisateur, lisez la position en revenant sur cette page et appelez

    pour positionner. scrollTo

    Cependant, je suggère que si la page est trop longue, il est préférable d'afficher votre liste en pages, car même si vous pouvez revenir à la position précédente lors du retour, l'expérience utilisateur est assez médiocre.

    répondre
    0
  • Annulerrépondre