转换路径或刷新时角度保留正确的滚动位置

时间:2017-02-22 10:14:25

标签: angularjs angular-ui-router

我正在使用ui-router

有人问过类似的问题 Number 次......但解决方案似乎到处都是,这个问题并没有解决一个简单的想法或者答案也没有。

这是我的简单ui-view设置:

  • 主视图具有导航栏和页脚
  • 可以激活的主视图/路线的孩子包括主页,关于我们页面和了解更多页面

很简单......

默认情况下,如果主页被激活,并向下滚动500px,我点击路线到"关于我们"页面,该页面将向下滚动500px。显然这是不可取的。

所以...每个人的解决方案都是在每次状态变更成功时设置document.scrollTop(0)的一些变体。这太糟糕了。

虽然它解决了手头的问题,但却破坏了浏览器后退按钮的行为。这是一些问题:

  • 调用刷新时,刷新到当前位置的标准浏览器行为将被破坏
  • 单击后退按钮后,主页将一直滚动到顶部
  • 如果单击后退和前进按钮,我将无法在下一页保留正确的位置

整个document.scrollTop(0)或其中的任何变体,似乎都不可行,我还没有看到明确的解决方案。

0 个答案:

没有答案