【问题标题】:How to detect browser back button click in Angular2如何在Angular2中检测浏览器后退按钮点击
【发布时间】:2017-09-11 09:51:28
【问题描述】:

我想在点击浏览器后退按钮时清除 Localstorage 数据。 但是如何检测浏览器后退按钮点击Angular2。 我没有得到任何确切的解决方案。 谁能告诉我怎么做?

【问题讨论】:

  • 如果您在页面内导航回(撤消路线导航)和导航回不同的页面,会有所不同。你对什么感兴趣呢? “我没有得到任何确切的解决方案。”您的问题应该说明您尝试了什么以及为什么没有得到预期结果以及预期结果是什么。
  • 浏览器后退按钮显然意味着它将重定向到不同的页面。我没有得到任何解决方案。@GünterZöchbauer
  • 这一点都不明显。如果您在角度路线之间导航然后返回,您总是在同一页面上,直到您使用返回按钮返回尽可能远,直到您到达初始状态,然后下一个返回按钮单击导航离开应用程序并到达以前的申请或页面。
  • @Dheeraj Kumar 的回答对我有用。感谢您的宝贵时间。@GünterZöchbaue

标签: angular browser back-button


【解决方案1】:

您可以使用组件的ngOnDestroy方法,这是组件生命周期的一部分。

只要组件被销毁,就会调用这个组件。

你可以做的是创建一个服务,你的清理本地存储的逻辑将被写入。

在组件的ngOnDestroy 方法上调用此服务。

记住 import {OnDestroy} from '@angular/core' 并将 OnDestroy 添加到类定义的 implements 部分

希望这会有所帮助。

【讨论】:

  • 我怀疑ngOnDestroy 在返回按钮离开应用程序时被调用。
  • 是先生。只要当前应用程序关闭或导航到另一个应用程序。
  • 我确定不是,因为对于应用程序而言,这与关闭未调用 ngOnDestroy 的选项卡相同。不过我不知道如何在 Plunker 中重现。
  • 非常感谢@Dheeraj Kumar。它对我有用。你拯救了我的一天。:):)
  • @ananya 我很高兴它有帮助:)
猜你喜欢
  • 2013-07-09
  • 1970-01-01
  • 2016-10-29
  • 2014-11-06
  • 2011-09-15
  • 1970-01-01
相关资源
最近更新 更多