我有一个 appComponent,在其中显示工具栏、页脚和主要内容。本主要内容使用该router-outlet
指令。是这样的
<div class="h-100">
<app-toolbar></app-toolbar>
<app-breadcrumb></app-breadcrumb>
<div class="container h-100">
<router-outlet></router-outlet>
</div>
</div>
在工具栏中,我有一个包含一些项目的菜单。例如
<button [routerLink]="['/list']" routerLinkActiveOptions="{exact:true}">List</button>
当我单击按钮时,我可以显示该页面的内容(因为路由器插座)。我现在可以显示一个包含一些内容的表格,它工作正常。现在,我需要单击一行并显示该行本身的详细信息。为此,我只是在做这样的事情
<a [routerLink]="['detail/',row.id]">{{value}}</a>
在此表的同一页面(我正在使用ngx-datatable
)我有另一个<router-outlet></router-outlet>
. 例如,通过这种方式,我现在可以在 url ".../detail/0" 处显示另一个组件。这被称为DetailComponent
。有什么问题?对于仍保留在那里的父组件(表),一切正常。当我单击一行时,表格不会消失,而是停留在那里,并在其下方,出现子组件。顺便说一句,这是我routes
的
const routes: Routes = [
{
path: 'list',
component: ListComponent,
canActivate : [AuthguardService],
children: [
{
path: 'detail/:id', component: DetailComponent, canActivate : [AuthguardService],
data: {
breadcrumb: ''
}
}
],
data: {
breadcrumb: 'List'
}
},{
path: '', redirectTo: '/home', pathMatch: 'full'
},
{ path: '**', redirectTo: '' }
];
@NgModule({
imports: [RouterModule.forRoot(routes, { enableTracing: false })],
exports: [RouterModule]
})
export class AppRoutingModule { }
我也尝试<router-outlet></router-outlet>
从 ListComponent 中删除,但如果这样做,子组件不会显示