Мой код:
const routes: Routes = [{
path: '',
component: HomeComponent,
children: [
{
path: '',
component: ComponentOne,
outlet: 'homeMainContent',
pathMatch: 'full'
},]},
{
path: 'list',
component: ListComponent,
outlet: 'homeMainContent',
},
{
path: 'auth',
loadChildren: 'app/auth/auth.module#AuthModule'
}, {
path: 'admin',
loadChildren: 'app/admin/admin.module#AdminModule'
}];
Когда я получаю доступ к компоненту списка, URL-адрес разрешается правильно, но шаблон HTML не меняется.
Если я помещу маршруты ComponentOne и ListComponent в один и тот же дочерний массив, как показано ниже:
const routes: Routes = [{
path: '',
component: HomeComponent,
children: [
{
path: '',
component: ComponentOne,
outlet: 'homeMainContent',
pathMatch: 'full'
},
{
path: 'list',
component: ListComponent,
outlet: 'homeMainContent',
},]},
Я получаю ошибку
ошибка: невозможно сопоставить никакие маршруты.
Как мне решить эту проблему:
- Чтобы шаблон загружался с соответствующим URL-адресом?
- А как избежать ошибки (если возможно), когда я помещаю маршруты ComponentOne и ListComponent в один и тот же дочерний массив?
Я видел пару ответов, включая этот ответ , но они не решают мою проблему.
Обновление:
Это мой код HomeComponent
<div class="body">
<div class="box">
<div class="one"><home-left-content></home-left-content></div>
<div class="two"><home-main-content></home-main-content></div>
<div class="three"><home-right-content></home-right-content></div>
</div>
</div>
и мой код компонента home-main-content выглядит так:
<div>
<router-outlet name="homeMainContent"></router-outlet>
</div>
Эта же настройка работает в моем файле конфигурации admin-routing. Вот почему я смущен, когда я получаю ошибки. Мне было интересно, может быть, это из-за того, что в качестве пути у меня указана пустая строка или потому, что код основного компонента существует в основном файле конфигурации маршрутизации?