我使用多个路由器出口来加载我的组件。外层router-outlet用来加载登录、主页、404等最基本的组件。我使用嵌套router-outlet来加载主页的子组件。该路由器插座嵌套在 home.component 中。
home.component.html
<app-header></app-header>
<router-outlet name="homeRoute"></router-outlet>
<app-footer></app-footer>
app.module.ts
const appRoutes: Routes = [
{path: '', component: HomeComponent, children: [
{path: '', component: DashboardComponent, outlet: 'homeRouter'},
{path: 'user', component: UserComponent, outlet: 'homeRouter'},
{path: 'user/:id', component: UserdetailComponent, outlet: 'homeRouter'}
]},
{path: 'login', component: LoginformComponent},
{path: '**', component: NotfoundComponent}
];
HomeComponent 和 LoginformComponent 需要从外部路由器出口加载。Home 组件包含名为“homeRouter”的内部路由器插座,我想用它来加载主页的子组件。但是内部路由器的导航不起作用。我尝试使用 router.navigate() 方法和 URL 访问每个组件。但是他们两个都没有按预期工作。
谁能告诉我这段代码有什么问题。我检查并尝试了几个关于同一问题的先前问题,但没有一个工作正常。
这是我为不同组件尝试过的 URL
http://localhost:4200
dashboardComponet(这个有效)http://localhost:4200/user
userComponent(不起作用。路由到 notFoundComponent)http://localhost:4200/user/U001
userDetailComponent(不工作。仍然路由到 notFoundComponent)