我对angular是个新手。子组件路由看起来像/practice/NATA/(test:edit/59afb586c99fbb3068fce1f6/courses),在同一个子组件中,单击一个按钮应该会将路由更改为/practice/NATA/(test:edit/59afb586c99fbb3068fce1f6/courses/duplicate/<courseid>),但我得到的路由是这样的/practice/NATA/(test:edit/59afb586c99fbb3068fce1f6/(courses//test:duplicate/593107b273790c30c4e08b03))
子组件路由模块如下所示
imports: [RouterModule.forChild([
{ path: '', component: NewEditPracticeComponent, outlet: 'test', canActivate: [AdminGuard] },
{ path: 'duplicate/:courseid', component: NewEditPracticeComponent, outlet: 'test', canActivate: [AdminGuard] },
]),和[routerLink]="[{ outlets: { test: ['duplicate', item._id ]}}]"
父组件路由模块如下所示
[RouterModule.forChild([
{
path: ':course', component: PracticeComponent, canActivate: [CourseGuard], children: [
{ path: '', component: PracticeListComponent, outlet: 'test', pathMatch: 'full' },
{ path: 'new', loadChildren: './new-edit-practice/new-edit-practice.module#EditPracticeModule', outlet: 'test', canActivate: [AdminGuard] },
{ path: 'edit/:testid', loadChildren: './new-edit-practice/new-edit-practice.module#EditPracticeModule', outlet: 'test', canActivate: [AdminGuard] },
// { path: 'duplicate/:courseid/:testid', loadChildren: './new-edit-practice/new-edit-practice.module#EditPracticeModule', outlet: 'test', canActivate: [AdminGuard] },
]
},
{ path: '', loadChildren: './practice-test/practice-test.module#PracticeTestModule' }
])]并且它正在渲染路径edit/:testid。提前谢谢。
发布于 2020-06-08 14:58:51
您需要将"./“附加到您的routerlink属性,如下所示:[routerLink]="[{ outlets: { test: ['./duplicate', item._id ]}}]"。这将确保路由器将查看当前路由器的内部。您可以查看更多信息here
https://stackoverflow.com/questions/62254740
复制相似问题