首页 > 解决方案 > 如何捕获锚标签的路由事件

问题描述

我需要在用户使用该应用程序时保存他们的浏览历史记录,因此我捕获路由器事件以存储 URL,如下面的代码。它适用于应用程序内部的路由,但<a href="/example" target="_blank">不会触发任何事件。我如何捕捉它的事件?

this.router.events.pipe(
  filter(event => event instanceof NavigationStart)
).subscribe( // My logics to store the URL )

标签: angularangular-routingangular-router

解决方案


您应该使用 [routerLink],而不是 href,它将捕获 navigationEnd。

如果您必须使用target=_blank,也许尝试在新选项卡中导航到的组件的 ngOnInit 中记录导航。


推荐阅读