我有一个主路由文件,其中包含如下路由
MainRoutes.ts
{
path: 'bllicenses',
loadChildren: () => import('../grids/portfolios/portfolios.module').then(m => m.PortfoliosModule)
},
{
path: 'reports',
component: RedirectComponent
},
{
path: 'advportfoliosearch',
loadChildren: () => import('../grids/portfolios/advportfoliosearch/advportfoliosearch.module').then(m => m.PortfolioSearchModule)
}
而且,在重定向组件中,我们正在做一些条件重定向,如下所示
重定向组件.ts
if (!this.portfolioID) {
if (this.route.url.includes('/reports')) {
this.redirectService.redirectToPega(redirectObj);
} else {
this.navigateService.redirectToPortfolio();
}
}
在上面的部分代码中,如果 url 包含 /reports
,我们将根据 portfolioID
条件重定向到外部 pega url。
如果portfolioID 不存在,它将重定向到角度路线之一。以下是我们导航服务代码的一部分
NavigateService.ts
public redirectToPortfolio() {
this.router.navigate(['/bllicenses']);
}
public redirectToAdvSearch() {
this.router.navigate(['/advsearch']);
}
所以,问题是我在 angular 应用程序中创建了一个新的路线和页面 /advsearch
,它在导航时应该像 /reports
一样。如果 portfolioID
不存在,它应该 redirectToPortfolio
这里的问题是 /reports
是外部链接,/advsearch
是角度路线。
如果我在现有投资组合 ID if
条件下的 RedirectComponent 中添加如下内容
if (!this.portfolioID) {
if (this.route.url.includes('/reports')) {
this.redirectService.redirectToPega(redirectObj);
} else if (this.route.url.includes('/advsearch')) {
this.redirectService.redirectToAdvSearch();
} else {
this.navigateService.redirectToPortfolio();
}
}
我需要在主路由文件中给出像 component: RedirectComponent
这样的错误,因为它是一个角度模块。我真的很困惑。任何人都可以帮助解决这个问题。如果有什么不清楚的,请评论。我可以解释。谢谢。