查看详情以后,返回列表页没有停留在原先查看的地方-angularJS问题的解决办法?求大神指教
人生最曼妙的风景,竟是内心的淡定与从容!
如果你的列表页面是一个分页的页面,那么你需要保存所在页面的页数,可能是在url里面,那么返回的时候就从url中读取页数,加载那个页数的数据。 如果你的列表页面是一个很长的页面,你需要回到原来的位置,那么你可能需要抽象出一个service来记录用户在这个页面上所处的位置,每次进入这个页面都要读取这个service然后scrollTo那个位置。 如果你的列表页面没有分页,也不是很长,那其实最好就返回页面顶部吧。
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; } } });
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来定位。
不过我建议对于页面太长的情况,最好是你把你的列表分页显示,因为即使返回的时候能够返回之前的位置,用户体验也挺差的。
如果你的列表页面是一个分页的页面,那么你需要保存所在页面的页数,可能是在url里面,那么返回的时候就从url中读取页数,加载那个页数的数据。
如果你的列表页面是一个很长的页面,你需要回到原来的位置,那么你可能需要抽象出一个service来记录用户在这个页面上所处的位置,每次进入这个页面都要读取这个service然后
scrollTo
那个位置。如果你的列表页面没有分页,也不是很长,那其实最好就返回页面顶部吧。
针对页面很长的情况:
把这个service注入到你所需要的view或者directive里面,在用户滚动事件中修改position,在返回到这个页面的时候读取position,并且调用
scrollTo
来定位。不过我建议对于页面太长的情况,最好是你把你的列表分页显示,因为即使返回的时候能够返回之前的位置,用户体验也挺差的。