Ale*_*FF1 2 javascript typescript angular-route-segment angular
例如,如何路由到相同的组件,但使用不同的URL和不同的数据
/exports/open - ExportsListComponent data: {exportstatus: 'open'}
/exports/submitted - ExportsListComponent data: {exportstatus: 'submitted'}
/exports/completed - ExportsListComponent data: {exportstatus: 'completed'}
Run Code Online (Sandbox Code Playgroud)
这是我尝试做的事情,也有其他使用ExportComponent的路由,但具有类似export /:exportId的路由。
{ path: 'exports/jobs/:exportJobId', component: ExportComponent, canActivate: [RouteGuard], resolve: { exportJob: ExportJobResolver }, data: { allowed: ['inv', 'cr'] } },
{ path: 'exports/:exportId', component: ExportComponent, canActivate: [RouteGuard], resolve: { export: ExportResolver }, data: { allowed: ['inv', 'cr'] } },
{ path: 'exports', component: ExportsListComponent,
children: [
{ path: 'open', component: ExportsListComponent , data: {exportstatus: 'open'}},
{ path: 'submitted', component: ExportsListComponent, data: {exportstatus: 'submitted'} },
{ path: 'completed', component: ExportsListComponent, data: {exportstatus: 'completed'} }
],
Run Code Online (Sandbox Code Playgroud)
我使用/ exports / open访问url时遇到的问题将路由到ExportComponent而不是ExportListComponent。如何使用url路由到export / open并路由到ExportListComponent,而不是ExportComponent。问题是当我路由到/ exports / open时,它会认为'open'是一个ID,但是我需要路由到ExportListComponent
根据官方文件:
路由在配置中的顺序很重要,这是设计使然。路由器在匹配路由时使用“先赢”策略,因此应将更具体的路由放在不那么具体的路由之上。
因此,您必须在出口条目下方移动exports /:exportId路由条目。
像这样
{ path: 'exports/jobs/:exportJobId', component: ExportComponent, canActivate: [RouteGuard], resolve: { exportJob: ExportJobResolver }, data: { allowed: ['inv', 'cr'] } },
{ path: 'exports', component: ExportsListComponent,
children: [
{ path: 'open', component: ExportsListComponent , data: {exportstatus: 'open'}},
{ path: 'submitted', component: ExportsListComponent, data: {exportstatus: 'submitted'} },
{ path: 'completed', component: ExportsListComponent, data: {exportstatus: 'completed'} }
],
{path: 'exports/:exportId', component: ExportComponent, canActivate: [RouteGuard], resolve: { export: ExportResolver }, data: { allowed: ['inv', 'cr'] } },
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |