有没有办法通过平滑滚动获得ui-router的autoscroll的功能,而不是立即跳转到那个地方?
或者有没有办法将eventlistener添加到所有状态,当状态以我可以访问ui-view元素的方式被触发时被触发?
这样的事情应该有效.你可能不得不调整target.offset().如果你有一个固定的标题或类似的东西可能会弄乱偏移量.
app.config(function ($provide) { $provide.decorator('$uiViewScroll',function ($delegate) { return function (uiViewElement) { $('html,body').animate({ scrollTop: uiViewElement.offset().top },500); }; }); });
在你的ui-view上保持autoscroll =“true”.
请参阅其他答案以获得有关prodiver的信用:Angular ui-router scroll to top,not to ui-view.