11

有没有办法在 redirecTo-Statement 中访问 routerParams?

我想将 'Order' 路由的 orderId 传递给 'OrderDashboard' 路由,但我不知道要写什么而不是???

如果我替换???所有3工作正常(如果用户只对订单号 3 感兴趣;-))

{path: '/:orderId', name: 'Order', redirectTo: ['OrderDashboard', {orderId:???}]} {path: '/:orderId/dashboard', name: 'OrderDashboard'}

4

1 回答 1

6

派对迟到了,但无论如何,

routeParams当时我找不到任何访问的参考router.config
但是您仍然可以通过使用其中一种技术来实现相同的行为


1.定义两条路线使用Same Component

(不完全一样的 url 在地址栏中会有所不同)

{path: '/:orderId', name: 'Order', component: OrderDashboard}
{path: '/:orderId/dashboard', name: 'OrderDashboard', component: OrderDashboard}

2.使用一次性组件作为代理

{path: '/:orderId', name: 'Order', component: OnlyToRedirect}
{path: '/:orderId/dashboard', name: 'OrderDashboard', component: OrderDashboard}

export class OnlyToRedirect{
  constructor(routeParams: RouteParams, router: Router){
    router.navigate(['OrderDashboard', {orderId: routeParams.params}])
  }
}

希望这有效:)

于 2016-04-18T09:37:17.523 回答