如何使用ngIf进行条件路由

时间:2019-09-04 07:46:30

标签: angular

Admin route.ts with child

const AdminRoutes: Routes = [{
     path: '', component: AdminComponent, children: [
    { path: 'dashboard', component: DashboardComponent },
    { path: 'adduser', component: AdduserComponent }, { path: 'userlist', component: UserlistComponent }, { path: 'userdetails', component: UserdetailsComponent }, { path: 'appliedleaves', component: LeavesAppliedComponent },
    { path: '', redirectTo: 'dashboard', pathMatch:'full' }]
}]

app-routing.ts

const routes: Routes = [
  { path: 'register', component: RegisterComponent },
  { path: 'login', component: LoginComponent },
  { path: 'employee', loadChildren: './employee/employee.module#EmployeeModule', canActivate: [authguardModule] },
  { path: 'admin', loadChildren: './admin/admin.module#AdminModule', canActivate: [authguardModule] }
  
];

我有一个管理模块。它有3个子级:仪表板,用户列表,叶子。导航到admin / userlist时,我需要显示userlist,对于所有其他用户,也是如此。 但这仅在我导航至仪表板或离开时显示用户列表。

如何使用* ngIf实现呢?喜欢:

<app-userdetails *ngIf="something here?"></app-userdetails>

2 个答案:

答案 0 :(得分:1)

这种情况可以在路由器模块中实现,您将在routes数组中执行以下操作:

[
{ path: 'userlist', component: your userlist component classname, for ex: 
UserListComponent },
{ path: 'dashboard', component: your dashboard component classname },
{ path: 'leaves', component: your leaves component classname }
]

答案 1 :(得分:0)

对adminroute使用以下路由:

const adminRoute : Routes = [

path : '',
component : adminRoute,
childrean :[
{route of leaves  }
]

]