首页 > 解决方案 > Angular所有菜单项以访问当前ID

问题描述

希望有人可以帮助我有一个带有项目列表的侧边栏,每个列表项都有一个 routerlink,我正在努力如何获取当前选择的 id,以便每个列表项都有该 id 传递给组件。

该应用程序从数据库中的项目列表开始,当我单击该行时,它会将我带到子对象,并且在 url 中有 id,因此该部分正在工作,但我需要以某种方式获取该 id,以便所有项目都在我的侧边栏可以访问该 ID,但无法弄清楚,并认为这将是一个简单的部分,并将其留到最后。

因此,一旦选择了该项目,我就需要以某种方式让 routerlink 中的所有项目都可以访问它。

<a [routerLink]="['/addresses/', this.id]" >地址 <a [routerLink]="['/reports/', this.id]" >报告

谢谢

标签: angular

解决方案


根据这篇文章,您可以订阅侧边栏组件内的路线更改。

尝试以下操作:

constructor(private router: Router) {
    router.events.subscribe((routerEvent) => {
        if (routerEvent instanceof NavigationEnd) {
          console.log('current route:', routerEvent.url);
          // parse the id from the url here e.g. routerEvent.split('/')[2]
        }
    });
  }


推荐阅读