向后导航时保持滚动位置

时间:2019-04-08 18:15:25

标签: angular routing angular2-routing

将一页导航到另一页。返回上一页后需要捕获当前页面的滚动位置。

我现在使用的是这样的: scrollPositionRestoration:“已启用”

在这里,以下代码:

this.locStrat.onPopState(() => {
  this.isPopState = true;
});

this.router.events.subscribe(event => {
// Scroll to top if accessing a page, not via browser history stack
if (event instanceof NavigationEnd && !this.isPopState) {
window.scrollTo(0, 0);
this.isPopState = false;
   }

   // Ensures that isPopState is reset
   if (event instanceof NavigationEnd) {
    this.isPopState = false;
   }
  });

滚动第一页,然后单击“查看”按钮,将重定向到另一页。在第二页上,单击“返回”按钮。再次返回首页。在这里,第一页应该在同一位置打开,这意味着需要保持滚动位置。

0 个答案:

没有答案