【问题标题】:How to skip a page in browser history when navigating back?导航返回时如何跳过浏览器历史记录中的页面?
【发布时间】:2017-01-26 13:41:37
【问题描述】:

我有一个带有路由器的 Angular 2 应用程序。假设用户在应用程序的页面 A 上,然后他导航到页面 B,然后导航到页面 C。此时,当他单击浏览器上的后退按钮时,我希望他回到页面 A (通过跳过 B)。我怎样才能实现它?

【问题讨论】:

标签: angular angular2-routing


【解决方案1】:

当从 B 导航到 C 时,必须设置 { replaceUrl: true }:

this.router.navigate(["/c"], { replaceUrl: true });

这会将浏览器历史记录中的页面 B 替换为 C。

【讨论】:

    【解决方案2】:

    快速简便的解决方案是

    在你的打字稿中使用导航而不是 html 文件。

    并指定参数

    { skipLocationChange: true }
    

    正确的解决方案是编写自己的导航策略并在 app.modules.ts 中指定

    【讨论】:

      猜你喜欢
      • 2011-05-19
      • 1970-01-01
      • 2010-09-22
      • 2015-06-14
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多