Я работаю над устаревшим угловым приложением и постепенно обновляю его до ng v9. В настоящее время у меня есть такая конфигурация маршрутизации, которая загружает только компоненты, но я хотел бы перейти к модулям, начиная с этого момента.
Вот как выглядит мой текущий файл маршрутизации
const routes = [
{path: 'home', component: HomeComponent, canActivate:[routeGuard]},
{path: '', redirectTo: 'home', pathMatch: 'full'},
{path: 'settings', loadChildren: () => import('path_to_import').then(mod => mod.SettingsModule)}
]
и из компонента, где я пытаюсь перемещаться по нему просто так -
<span routerLink="settings"></span>
Как ни странно, когда я нажимаю на настройки на странице, меня перенаправляет на «/settings/home», что не является предполагаемым поведением.
Но когда я изменяю модуль для загрузки как компонент, подобный этому -
const routes = [
{path: 'home', component: HomeComponent, canActivate:[routeGuard]},
{path: '', redirectTo: 'home', pathMatch: 'full'},
{path: 'settings', component: SettingsComponent}
]
он работает идеально. поэтому я не уверен, почему здесь загрузка модуля имеет значение.
Любая помощь приветствуется!