如何在url中隐藏主要组件路径的名称?

时间:2019-01-14 16:58:57

标签: angular router

问题是我不想显示Angular组件的名称。例如,如果用户已登录,我不希望他出现:用户/配置文件。我只希望它出现:个人资料。

这些是App.routing-module.ts中的路由:

const routes: Routes = [
  {
    path: 'home',
    component:HomeComponent
  },
  {
    path:'',
    redirectTo:'home',
    pathMatch: 'full'
  },
  {
    path: 'user',
    loadChildren: 'app/usuario/usuario.module#UsuarioModule'
  },
  {
    path: 'profesional',
    loadChildren: 'app/profesional/profesional.module#ProfesionalModule'

  },
  {
    path: 'register',
    loadChildren: 'app/register/register.module#RegisterModule'
  },
  {
    path: 'login',
    component:LoginComponent
  },
  {
      path: '**',
      component:NotFoundComponent
  }
];

这些是user.routing-module.ts中的路由:

const usuario_routes: Routes = [
  {
    path: '',
    component:UsuarioComponent,
    canActivate: [LoginGuard, RoleGuard],
        data: { 
                expectedRole: '0'
              } ,
    children:[
      {
       path: '',
       redirectTo: 'home',
       pathMatch: 'full'
      },
        {
         path: 'home',
         component: HomeComponent
        },
        {
          path: 'profile',
          component: ProfileComponent,
        },
        {
          path: 'changePassword',
          component: ChangePasswordComponent
        },{
          path:'**',
          component: NotFoundComponent
        }
    ]
    }
];

@NgModule({
  imports: [
    RouterModule.forChild(usuario_routes)
  ],
  exports: [
    RouterModule
  ]
})
export class UsuarioRoutingModule { }

用户登录后,我只希望它出现在他的url上,例如:./profile,而不是./user/profile。

0 个答案:

没有答案