在应用程序组件后面创建登录组件

时间:2019-05-02 16:16:49

标签: angular routes

我有一个有角度的网站,其中有针对不同组件的几种路线。

我在app.component.html上定义了其路由区域约为屏幕的70%,其中一些菜单和徽标位于其他屏幕的30%(静态),并且这些菜单和徽标显示在每个屏幕/组件中

现在的问题是:我想创建一个登录屏幕,位于主应用程序的“后面”(没有菜单,徽标等)。如果我转到该菜单,菜单不会消失-不足为奇。

我在app.module.ts上有这条路线

const routes: Routes = [
  { path: 'inicio', component: InicioComponent },
  { path: 'list-my-aval', component: ListMyAvalComponent},
  { path: 'create-my-aval', component: CreateMyAvalComponent},
  { path: 'new-calendario', component: NewCalendarioComponent},
  { path: 'login', component: LoginComponent},
  { path: '', redirectTo: '/login', pathMatch: 'full'},

];

您建议我做什么来解决此问题? 附:我是个初学者

1 个答案:

答案 0 :(得分:0)

如果可以将所有已登录的组件放在更深层的路由中,例如:/secure/inicio/secure/list-my-aval,然后将登录组件的最上层路由放置为:/login,那么您可以简单地使用子路由器,例如:

const routes: Routes = [
    {
        path: 'secure',
        component: SecureComponent,
        children: [
            { path: 'inicio', component: InicioComponent },
            { path: 'list-my-aval', component: ListMyAvalComponent },
            { path: 'create-my-aval', component: CreateMyAvalComponent },
            { path: 'new-calendario', component: NewCalendarioComponent },
        ]
    },
    { path: 'login', component: LoginComponent},
    { path: '', redirectTo: '/login', pathMatch: 'full' },
];