我一直在与另一个我并排的angular6项目进行比较,除了使用“ sidenav”导航外,我看不出其他任何区别。我将路由器出口保留在sidenav容器内的app.component中,但我也将其从那里移到了文件的顶部,以确保它不是罪魁祸首。
如果我使用常规导航转到某个组件/路线,即使使用路线参数也可以很好地工作。
当我尝试导航到链接时,它会重定向到首页,而路由器插座甚至都不会加载“ home”组件。
我的路由模块代码:
const routes: Routes = [
{
path: 'admin-panel/:resource',
component: AdminPanelComponent,
canActivate: [AdalGuard, TenantGuard]
},
{ path: '', component: HomeComponent, canActivate: [AdalGuard] },
{ path: '*', component: NotFoundComponent, canActivate: [AdalGuard] }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {}
答案 0 :(得分:0)
正如本沙巴特诺姆(Benshabatnoam)所评论的那样,您需要在pathMatch: 'full'
的路径上使用''
,否则,所有内容都将与之匹配。
{ path: '', component: HomeComponent, canActivate: [AdalGuard], pathMatch: 'full' },
详细了解有关here的棱角文档
答案 1 :(得分:0)
不一定是解决方案,但在我的特定情况下,发生这种情况的原因是我写为canActivate的Guard,只需要从头开始进行重建,就没有调试该东西了。