Я отображаю модальный маршрут, используя дополнительный маршрут . Это работает нормально.
К сожалению, когда я перезагружаю страницу (или если она перезаписывается после изменения в источнике) с открытием модального режима, я получаю эту ошибку:
TypeError: undefined не является объектом (оценивает '(/ ** @type {?} * / (Route._loadedConfig)). Маршруты') getChildConfig
Это происходит только в root страница /(test:test)
. Другие маршруты, такие как /contact(test:test)
, работают нормально.
Что не так с конфигурацией?
Это ссылка, которая правильно открывает модальное окно:
<a [routerLink]="[{ outlets: { test: ['test'] } }]">Test</a>
Также закрытие работает просто отлично:
this.router.navigate([{ outlets: { test: null }}]);
URL выглядит следующим образом:
https://localhost:4200/(test:test)
… и перезагрузка этого URL не удалась.
Это мой app.component.ts :
<router-outlet></router-outlet>
<router-outlet name="test"></router-outlet>
Это app-routing.moduile.ts :
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { TestComponent } from './modules/test/components/test/test.component';
const routes: Routes = [
{
path: '',
loadChildren: () => import('./modules/homepage/homepage.module').then(m => m.HomepageModule)
},
{
path: 'contact',
loadChildren: () => import('./modules/contact/contact.module').then(m => m.ContactModule)
},
{
path: 'test',
component: TestComponent,
outlet: 'test'
},
];
@NgModule({
imports: [
RouterModule.forRoot(routes, {
scrollPositionRestoration: 'enabled',
anchorScrolling: 'enabled',
})
],
exports: [RouterModule]
})
export class AppRoutingModule { }