Angular:修复了顶层菜单,切换页面但不滚动顶部

时间:2013-11-04 22:18:45

标签: angularjs

我在Angular中有一个固定的顶级菜单但是当我尝试切换页面(在应用程序内)时,浏览器窗口不会向上滚动。

我尝试在我的控制器中执行此操作(每次在应用程序中切换页面时都会加载此代码):

$('body').scroll();
window.scrollTo(0, 0);
$("html, body").animate({ scrollTop: 0 }, 100);

其中任何一个都无效。

我有什么诡计吗?

我也尝试了这个:

$location.hash('#top');
// call $anchorScroll()
$anchorScroll();

但没有成功

1 个答案:

答案 0 :(得分:3)

首先,您不应该从控制器附加DOM事件或修改DOM。您可以使用指令。

根据你的问题 - AngularJS有一个名为'$ routeChangeSuccess'的事件。 您可以使用$scope.$on('$routeChangeSuccess', function () {...})将处理程序附加到此事件,并在其中运行滚动代码。