【问题标题】:angular catch (and prevent) the click on the previous page button on a browser角度捕捉(并防止)点击浏览器上的上一页按钮
【发布时间】:2020-11-03 09:13:19
【问题描述】:

我使用 Angular 9, 在我的一个组件中,我在 url 中使用了几个 # ,但保持在同一个路由 url 中。

想像: http://myWebsite/compo1#phase1; http://myWebsite/compo1#phase2;

我需要自定义用户点击浏览器“上一个”和“下一个”按钮时的行为。

到目前为止我使用的是:

@HostListener('window:popstate')

onPopState($event) { 更新网址($事件); $event.preventDefault(); }

我可以看到 url 正在更新,但事件仍在继续,它仍然重定向到 # ( http://myWebsite/home ) 之前的页面

知道我做错了什么吗?

【问题讨论】:

    标签: angular url


    【解决方案1】:

    如果你使用 Angular 路由器,那么你可以使用它的内置事件。你试过吗?

    router.events
      .filter(e => e instanceof NavigationEnd)
      .subscribe(e => /* do stuff */)
    

    https://angular.io/guide/router#router-events

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多