здесь код для решения этой проблемы StackBlitz
в app.routing.ts
вместо
const appRoutes: Routes = [
{
path: '',
children: [
// aux route with named outlet, **DOES NTO WORK :(**
{
path: 'simple',
component: SimpleComponent
},
// default route, *WORKS*
{
path: '',
component: AppComponent
},
// fallback route, *WORKS*
{
path: '**',
component: AppComponent,
redirectTo: ''
}
]
}
];
сделать
const appRoutes: Routes = [
{
path: 'main',
component: AppComponent,
children: [
// aux route with named outlet, **DOES NTO WORK :(**
{
path: 'simple',
component: SimpleComponent,
outlet: 'simpleOutlet'
}
]
}
];
и вместо
exports: [RouterModule, appRoutes]
сделать
exports: [RouterModule]
в app.component.html
вместо
<h1>
app component
</h1>
<router-outlet></router-outlet>
сделать
<h1>
app component
</h1>
<router-outlet></router-outlet>
<router-outlet name="simpleOutlet"></router-outlet>
в app.module.ts
удалить import { Routes, RouterModule } from '@angular/router';
вам это не нужно здесь вы уже сделали отдельный маршрутизация файл
добавить
import { AppRoutingModule } from './app.routing';
import { SimpleComponent } from './simple/simple.component';
вместо
@NgModule({
imports: [
BrowserModule,
FormsModule,
RouterModule.forRoot([])
],
declarations: [ AppComponent, HelloComponent ],
bootstrap: [ AppComponent ]
})
do
@NgModule({
declarations: [ AppComponent, HelloComponent, SimpleComponent ],
imports: [
BrowserModule,
FormsModule,
AppRoutingModule
],
bootstrap: [ AppComponent ]
})
сделать это следующим образом declarations
, затем imports
порядок важен, пока вы сделали отдельную маршрутизацию файл
для получения более подробной информации и ссылки, посмотрите на ссылку, указанную выше.