繁体   English   中英

如何知道angular路由器是否有注册路由

[英]How to know if angular router has registered route

我正在迁移一组基于 MFE 架构的 Anguar 微型站点信息模块联合。

不是所有的应用程序都会一次迁移,所以我有这个问题要解决:

到目前为止,所有跨微型站点的链接都只是带有 href 的常规a标签,并且已完成整页重新加载。

现在,随着 MFE 被一个接一个地加载到 shell 中,有时链接会指向有效的 angular 路由(如果 MFE 是使用模块联合延迟加载的),但有时不是。

因此,有时需要使用routerLink指令呈现链接,有时需要使用href

有没有办法在运行时判断一条路由(例如apps/admin )是否有效 Angular 路由,以便决定是使用routerLink还是href

我不确定你真正想要什么,但你可以使用router.config并循环检查它是否存在某些路径

  constructor(private router: Router) {
    console.log(this.router.config);
  }


  routeExists(path: string): boolean {
    return this.router.config.some((route) => route.path === path)
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM