我正在尝试使用该代码记住页面的滚动位置:
$rootScope.$on('$locationChangeStart', function(angularEvent, nextRoute, currentRoute) {
$rootScope.scrollPosCache['dailyController'] = $window.pageYOffset;
});
当页面无限滚动时,我使用ui-router's
transitionTo
来修改浏览器历史记录中的当前网址:
$state.transitionTo('daily', { page: pageIndex }, { notify: false, location: 'replace' });
转换将搜索字符串更改为例如:http://example.com/?page=1/2/3/4/etc
因此,当我进行转换时以及当用户离开列表页面以跟踪指向详细信息页面的链接时,$locationChangeStart
代码都在运行。
我如何知道位置变化来自过渡而非点击? (我只想记住页面留下时的滚动位置)
答案 0 :(得分:0)
解决方案是使用$stateChangeStart
而非$locationChangeStart
。