我已经阅读了很多不同的问题,给出的解决方案似乎都不适合我的用例。我首先简单地将target =“ _ top”放在所有链接上,但这实际上迫使我的应用重新加载,将无法正常工作。我也看到人们说他们使用 autoscroll =“ true”, 但这似乎只有在我的 ui-view中有效 。
问题在于,在我的index.html文件中,我已修复了导航和其他静态元素,这些元素位于我的第一个ui视图上方。这意味着当我转到其他页面时,由于该页面加载通过那些元素,因此导航丢失。我还尝试通过以下方法将其放在身上:
<body autoscroll="true"> </body>
这似乎也不起作用。所以问题是,如何确定新页面(从ui-router更改新路由)导致从页面顶部开始?谢谢!
如果您希望它始终滚动到0跨浏览器,请对自动滚动不执行任何操作。只需将其放置在您的运行块中:
$rootScope.$on('$stateChangeSuccess', function() { document.body.scrollTop = document.documentElement.scrollTop = 0; });