【发布时间】:2013-10-06 05:46:21
【问题描述】:
我的页面中有一个 ui 视图。 单击某个按钮时,会加载 ui-view 并将其替换为某些 HTML。 我希望页面向下滚动到页面刚刚加载的部分。
这可能吗? 提前致谢
【问题讨论】:
-
我想这就是你要找的东西 - stackoverflow.com/questions/14712223/…
我的页面中有一个 ui 视图。 单击某个按钮时,会加载 ui-view 并将其替换为某些 HTML。 我希望页面向下滚动到页面刚刚加载的部分。
这可能吗? 提前致谢
【问题讨论】:
在路线更改时,它将滚动到页面顶部。
$scope.$on('$routeChangeSuccess', function () {
window.scrollTo(0, 0);
});
将此代码放在您的控制器上。 (根据您的要求更改值)
【讨论】:
$stateChangeSuccess,但效果很好。还使用$window 服务进行可测试性
ui-router 模块已更新为默认滚动到 ui-view。您可以在<div ui-view> 上添加autoscroll="false" 属性来防止这种情况。默认设置是true,它会在状态更改时滚动到 ui 视图。
我认为这应该是您必须将自动滚动设置为启用而不是禁用的另一种方式,但这是更新后的 ui-router 的功能。
你可以阅读它here。
在链接的 Github 问题中,它说默认值为autoscroll="expr",但我发现expr 什么都不做,默认值为autoscroll="true"(这更有意义)。
【讨论】: