angular.js - 查看详情以后,返回列表页没有停留在原先查看的地方-angularJS问题的解决办法?求大神指教
黄舟
黄舟 2017-05-15 16:53:07
0
1
615

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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
左手右手慢动作

如果你的列表页面是一个分页的页面,那么你需要保存所在页面的页数,可能是在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来定位。

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板