【发布时间】:2018-08-15 07:50:42
【问题描述】:
我正在使用 Angular 4 和延迟/共享模块的路由。
如何在 URL 中不附加惰性模块名称的情况下使用路径?
目前我的partner 组件可通过http://localhost:4200/#/main/partner 访问,但我想使用与URL http://localhost:4200/#/partner 相同的组件。无需将 /main 附加到我的组件中。
dashboard、employeelist 和 addemployee 也一样,我想直接用 localhost:4200/#/dashboard 等访问。
下面是我的 App-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 });
lazy.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);
【问题讨论】:
标签: angular routing angular-routing angular4-router