在浏览AngularJS的开发人员指南时,我注意到当使用back按钮导航回页面时,我没有返回到最后一个滚动位置。相反,我直接回到了顶端。由于开发人员指南是用AngularJS构建的,我担心,当我用AngularJS构建自己的web应用程序时,如果他们有同样的体验,会让我的用户感到恼火。为什么会发生这种情况,以及如何修复它?我需要以某种方式使用HTML5的历史API吗?
转到开发人员指南,亲自查看此行为:http://docs.angularjs.org/guide/directive
发布于 2014-02-06 03:03:37
如果你想解决这个问题,我可以想出一个办法,在地图中(在服务中或在rootScope上)跟踪每个路线滚动位置-当你离开页面($routeChangeStart listener)时,只需将滚动位置与路线路径一起保存即可。
当进入任何页面时,您都可以检查地图中是否存在路径记录,并将滚动窗口滚动到$routeChangeSuccess事件的所需位置
发布于 2014-02-12 09:33:34
您应该研究一下Angular $anchorScroll服务。
http://docs.angularjs.org/api/ng.$anchorScroll
这正是您的场景!示例代码很好地说明了问题本身。
https://stackoverflow.com/questions/17100989
复制相似问题