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