Angular 2中的登录页面(一个用于登录,另一个用于其他布局)的不同布局

我创建了一个角度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.

点赞