我创建了一个角度2应用程序.在我的app.component中,我有这个
<header-component><header-component>
<router-outlet></router-outlet>
与路由器:
const appRoutes: Routes = [
{ path: 'profesionals', component: CrearEditarProfesionalsComponent },
{ path: 'home', component: HomeComponent },
{ path: 'login', component: LoginComponent },
{ path: '', component: HomeComponent }
];
当我导航到登录时我想摆脱它
<header-component>
但是对于用户登录时的所有其他页面,我只想按原样显示布局.我是否必须使用ng-if提供服务来实现此目的?什么是最好的方式?
最佳答案 您可以从您的页面中删除.为了实现所需的结果,您可以将应显示标题组件的所有组件作为其子路径.
你可以这样做:
{ path: 'dashboard', component: HeaderComponent, children: [
{ path: '', component: HeaderComponent },
{ path: 'mypath', component: MyComponent } ]
},
{ path: 'login', component: LoginComponent }
这样,作为HeaderComponent路由的子路径的每个路由都将显示HeaderComponent和子组件.
并且您的登录名不会显示HeaderComponent.