命名路由器出口保持为空
Named router-outlet remains empty
我有一个关于第二个(命名的)路由器插座的问题。单击 link 时,路由器插座不显示组件。
这是我的路线的样子:
const appRoutes: Routes = [
{ path: '', redirectTo: '/projects', pathMatch: 'full' },
{
path: 'projects', children: [
{ path: '', component: ProjectsComponent },
{ path: ':projectId', children: [
{ path: '', component: ProjectDetailsComponent },
{ path: 'routes', component: RoutesComponent, outlet: 'project' },
{ path: 'rides/new', component: AddRideComponent, outlet: 'project' },
{ path: 'routes/:id', component: RideDetailsComponent, outlet: 'project' },
{ path: 'stops', component: StopsComponent, outlet: 'project' },
{ path: 'stops/new', component: AddStopComponent, outlet: 'project' },
{ path: 'stops/:id', component: StopDetailsComponent, outlet: 'project' }
]
},
]
},
...
];
这是我命名的路由器插座的样子:
<router-outlet name="project"></router-outlet>
routerLink 是这样的:
<a [routerLink]="['/projects', projectId, { outlets: {project: 'routes'}}]">Routes</a>
当我在 http://.../projects/456
上并单击 link 时,命名的路由器插座仍然是空的并且不显示组件。
我尝试了很多方法,但似乎找不到问题所在。我做错了什么?
您似乎没有提到子组件的组件。我不知道你到底遇到了什么错误,但这是我的意见。可以这样试试吗
export const appRoutes: Routes = [
{ path: '', redirectTo: 'projects', pathMatch: 'full' },
{ path: 'projects', component: ProjectsComponent },
{ path: 'projects/:projectId', component: ProjectDetailsComponent,
children: [
{ path: 'routes', component: RoutesComponent, outlet: 'project' },
{ path: 'rides/new', component: AddRideComponent, outlet: 'project' },
{ path: 'routes/:id', component: RideDetailsComponent, outlet: 'project' },
{ path: 'stops', component: StopsComponent, outlet: 'project' },
{ path: 'stops/new', component: AddStopComponent, outlet: 'project' },
{ path: 'stops/:id', component: StopDetailsComponent, outlet: 'project' }
]
}
];
并且您的路由器出口应该在 ProjectDetailsComponent
<router-outlet name="project"></router-outlet>
我有一个关于第二个(命名的)路由器插座的问题。单击 link 时,路由器插座不显示组件。
这是我的路线的样子:
const appRoutes: Routes = [
{ path: '', redirectTo: '/projects', pathMatch: 'full' },
{
path: 'projects', children: [
{ path: '', component: ProjectsComponent },
{ path: ':projectId', children: [
{ path: '', component: ProjectDetailsComponent },
{ path: 'routes', component: RoutesComponent, outlet: 'project' },
{ path: 'rides/new', component: AddRideComponent, outlet: 'project' },
{ path: 'routes/:id', component: RideDetailsComponent, outlet: 'project' },
{ path: 'stops', component: StopsComponent, outlet: 'project' },
{ path: 'stops/new', component: AddStopComponent, outlet: 'project' },
{ path: 'stops/:id', component: StopDetailsComponent, outlet: 'project' }
]
},
]
},
...
];
这是我命名的路由器插座的样子:
<router-outlet name="project"></router-outlet>
routerLink 是这样的:
<a [routerLink]="['/projects', projectId, { outlets: {project: 'routes'}}]">Routes</a>
当我在 http://.../projects/456
上并单击 link 时,命名的路由器插座仍然是空的并且不显示组件。
我尝试了很多方法,但似乎找不到问题所在。我做错了什么?
您似乎没有提到子组件的组件。我不知道你到底遇到了什么错误,但这是我的意见。可以这样试试吗
export const appRoutes: Routes = [
{ path: '', redirectTo: 'projects', pathMatch: 'full' },
{ path: 'projects', component: ProjectsComponent },
{ path: 'projects/:projectId', component: ProjectDetailsComponent,
children: [
{ path: 'routes', component: RoutesComponent, outlet: 'project' },
{ path: 'rides/new', component: AddRideComponent, outlet: 'project' },
{ path: 'routes/:id', component: RideDetailsComponent, outlet: 'project' },
{ path: 'stops', component: StopsComponent, outlet: 'project' },
{ path: 'stops/new', component: AddStopComponent, outlet: 'project' },
{ path: 'stops/:id', component: StopDetailsComponent, outlet: 'project' }
]
}
];
并且您的路由器出口应该在 ProjectDetailsComponent
<router-outlet name="project"></router-outlet>