suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

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

黄舟黄舟2744 Tage vor594

Antworte allen(1)Ich werde antworten

  • ringa_lee

    ringa_lee2017-05-15 16:55:07

    如果你的列表页面是一个分页的页面,那么你需要保存所在页面的页数,可能是在url里面,那么返回的时候就从url中读取页数,加载那个页数的数据。
    如果你的列表页面是一个很长的页面,你需要回到原来的位置,那么你可能需要抽象出一个service来记录用户在这个页面上所处的位置,每次进入这个页面都要读取这个service然后scrollTo那个位置。
    如果你的列表页面没有分页,也不是很长,那其实最好就返回页面顶部吧。

    针对页面很长的情况:

    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;
            }
        }
    });
    

    把这个service注入到你所需要的view或者directive里面,在用户滚动事件中修改position,在返回到这个页面的时候读取position,并且调用scrollTo来定位。

    不过我建议对于页面太长的情况,最好是你把你的列表分页显示,因为即使返回的时候能够返回之前的位置,用户体验也挺差的。

    Antwort
    0
  • StornierenAntwort