#angular #angular-routing #angular-lazyloading
#angular #angular-routing #angular-lazyloading
Вопрос:
Это мой основной файл маршрута
let baseRoute= Config.loginFirstName==null ? 'abcd':Config.loginFirstName;
const routes: Routes = [
{path: '', redirectTo: '/' baseRoute '/' Config.role '/dashboard/home', pathMatch: 'full' },
{path:'help', component:HelpComponent},
{path:'register', component:RegisterComponent},
{path:'forget-password',component:ForgetPasswordComponent},
{ path: baseRoute, loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule) },
{path:'**', component:NotfoundComponent}
];
Это маршрутизация page.module
const routes: Routes = [{ path: '', component: PagesComponent },
{
path: 'customer',
loadChildren: () => import('./customer/customer.module').then(m => m.CustomerModule)
},
{
path: 'organizer',
loadChildren: () => import('./organizer/organizer.module').then(m => m.OrganizerModule),
canActivate: [AuthGuardOrganizer]
},
Здесь возникает проблема, когда кто-то входит в систему как поставщик с именем ‘xyz’, поэтому он перенаправляется на маршрут ‘xyz / vendor’ и работает в первый раз, но при входе в систему с именем ‘abc’ в качестве клиента, тогда его маршрут будет abc / customer, тогда его перенаправление не работает.
Спасибо
Ответ №1:
Наконец, я могу решить эту проблему, предварительно загрузив Strategy
const config: ExtraOptions = {
useHash: true,
preloadingStrategy: PreloadAllModules // when I added this line its working
};
@NgModule({
imports: [RouterModule.forRoot(routes,config)],
exports: [RouterModule]
})
Комментарии:
1. Вы делали это в модуле с отложенной загрузкой?
2. Нет, если вы можете, пожалуйста, опубликуйте то же самое