在新页面更改路线时不会滚动到顶部。

18 浏览
0 Comments

在新页面更改路线时不会滚动到顶部。

我发现当路由改变时,有些行为对我来说不是很理想。

在教程的第11步中,可以看到http://angular.github.io/angular-phonecat/step-11/app/#/phones电话列表。如果你滚动到底部并点击最后一个,你会发现滚动条不在顶部,而是在中间位置。

我在我的一个应用程序中也发现了这个问题,我想知道如何将其滚动到顶部。我可以手动滚动,但我认为应该有其他更优雅的方法来做到这一点,而我不知道。

因此,是否有一种优雅的方法,在路由改变时滚动到顶部?

admin 更改状态以发布 2023年5月19日
0
0 Comments

只需将这段代码运行

$rootScope.$on("$routeChangeSuccess", function (event, currentRoute, previousRoute) {
    window.scrollTo(0, 0);
});

0
0 Comments

问题在于你的ngView在加载新视图时保留了滚动位置。你可以指示$anchorScroll在视图更新后“滚动视口”(文档有点模糊,但这里的滚动意味着滚动到新视图的顶部)。

解决方案是将autoscroll="true"添加到你的ngView元素中:


0