Я использую Angular 4 с маршрутизацией для Lazy/shared модуля.
Здесь Как я могу использовать путь без имени моего ленивого модуля, добавленного в URL-адрес?
В настоящее время мой компонент partner
доступен с http://localhost:4200/#/main/partner
, но я хочу использовать его с URL-адресом http://localhost:4200/#/partner
. Без добавления /main
к моему компоненту.
То же самое для dashboard
, employeelist
и addemployee
, я хочу получить доступ напрямую с localhost:4200/#/dashboard
и так далее.
Ниже приведены мои файлы App-Routing и lazy-Routing.
app.routing.ts
const routes: Routes = [
{ path: '', component: LoginComponent },
{ path: 'emailLogin/forgotpassword', component: ForgotPasswordComponent },
{ path: 'forgotpassword', component: ForgotPasswordComponent },
{ path: 'login', redirectTo: '', component: LoginComponent },
{ path: 'main', loadChildren: './lazy.module#LazyModule' },
{ path: '**', redirectTo: '/main' }
];
export const routing = RouterModule.forRoot(routes, { useHash: true });
ленивый.routing.ts
const routes: Routes = [
{ path: 'dashboard', component: DashboardComponent, canActivate: [AuthguardGuardPartnerUser] },
{ path: 'partner', component: PartnerComponent, canActivate: [AuthguardGuard] },
{ path: 'employeelist', component: EmployeeComponent, canActivate: [AuthguardGuardPartnerUser] },
{ path: 'addemployee', component: AddemployeeComponent, canActivate: [AuthguardGuardPartnerUser] },
{ path: 'newsurvey/:neworcopy', component: NewsurveyComponent, canActivate: [AuthguardGuardAdminPartner] },
// .... Other components
{ path: '404pageNotFound', component: NotfoundComponent },
{ path: '**', redirectTo: '/404pageNotFound' }
];
export const routing: ModuleWithProviders = RouterModule.forChild(routes);