Я создал приложение с библиотекой компонентов. Моя библиотека содержит маршруты. Когда я пытаюсь лениво загрузить библиотеку в приложение, я использую следующий путь:
const routes: Routes = [
{ path: 'test2', loadChildren: () => import('my-lib' ).then(x => x.MyLibModule) },
];
Я импортирую этот маршрут в свой AppRoutingModule для приложения:
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
В библиотечном модуле MyLibModule я определяю свои библиотечные маршруты и импортирую их с помощью метода forChild.
imports: [
...
RouterModule.forChild(routerConfig),
...
],
Это работает для моего маршрута по умолчанию. Если вы перейдете к базовому маршруту «localhost: 4200 / test2», маршрут библиотеки по умолчанию загрузится правильно. Однако при нажатии кнопки и переходе по другому маршруту база «test2» маршрутов библиотеки удаляется. Страница "localhost: 4200 / page2" загружается вместо "localhost: 4200 / test2 / page2". Этот URL не существует, и я получаю сообщение об ошибке. Однако, если вы перейдете к «localhost: 4200 / test2 / page2», загрузится правильная страница.
Что происходит с базовым URL-адресом test2 при перенаправлении? Как мне сохранить этот базовый URL без изменения кода в моей библиотеке?