11

在浏览 AngularJS 的开发人员指南时,我注意到在使用后退按钮导航回页面时,我没有返回到上一个滚动位置。相反,我直接回到顶部。由于开发者指南是用 AngularJS 构建的,我担心当我用 AngularJS 构建自己的 web 应用程序时,如果他们有同样的体验,它会惹恼我的用户。为什么会发生这种情况,如何解决?我是否需要以某种方式使用 HTML5 的历史 API?

转到开发人员指南并亲自查看此行为:http: //docs.angularjs.org/guide/directive

4

2 回答 2

8

如果您想修复它,我可以想到一个想法,即在地图中(在服务中或在 rootScope 上)跟踪每个路线滚动位置 - 当您离开页面($routeChangeStart侦听器)时,只需将滚动位置与路线路径。

并且当进入任何页面时,您可以检查地图中是否存在路线路径和滚动窗口到$routeChangeSuccess事件所需位置的记录

于 2014-02-05T19:03:36.657 回答
0

您应该查看 Angular $anchorScroll 服务。

http://docs.angularjs.org/api/ng .$anchorScroll

这正是您的场景!示例代码几乎不言自明。

于 2014-02-12T01:33:34.200 回答