【问题标题】:how to detect a page is being reloaded [duplicate]如何检测页面正在重新加载[重复]
【发布时间】:2019-08-24 11:12:54
【问题描述】:

当用户单击浏览器中的重新加载按钮时,我需要拦截页面重新加载。我尝试了以下代码,但我的断点从未弹出。

ngOnInit() {
    this.router
        .events
        .subscribe((e: RouterEvent) => {
            debugger;
        });
}

有人可以帮忙吗?

【问题讨论】:

  • 单击重新加载按钮时,您的应用程序将从头重新启动。因此,例如,您的根组件的构造函数和 ngOnInit 方法会被调用。你想解决什么具体问题?
  • 我想这个问题已经在这里得到解答了:stackoverflow.com/questions/47331260/…
  • @JBNizet 我有一个子组件,它根据某些条件显示。在某些时候,如果这个孩子出现了,但用户点击了重新加载按钮,我仍然想把这个孩子带出来。
  • 然后确保条件基于 URL 的值。如果用户重新加载,应用程序将显示与该 URL 关联的路由,并且您的子组件将被重新显示。
  • @JBNizet 这需要一条路线和一个出口。但是这个孩子需要整个视口,而它的父母是 2 列布局。这就是为什么我必须有一些条件才能改变布局。否则,我将需要一个与其父级相同级别的子级路由。

标签: javascript angular typescript angular7


【解决方案1】:

你可以使用

@HostListener("window:beforeunload")

这样

@HostListener("window:beforeunload")
public doSomething() {
  // custom logic here
}

【讨论】:

  • 我可以试试这个。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-20
  • 1970-01-01
  • 2023-03-31
  • 2011-11-26
  • 1970-01-01
  • 2012-03-12
  • 2011-12-12
相关资源
最近更新 更多