使用routeParams进行Angular2路由重定向

pru*_*p81 11 angular2-routing angular

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

我想将'Order'路线的orderId传递给'OrderDashboard'路线,但我无法弄清楚要写什么而不是 ???

如果我更换???3一切工作正常(如果用户只在订单号3 intrested ;-))

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

Ank*_*ngh 6

迟到派对但无论如何,

我找不到accesing的任何参考routeParams在的时候router.config,
但你仍然可以使用这些技术的一个实现相同的行为


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

(与地址栏中的url不完全相同)

{path: '/:orderId', name: 'Order', component: OrderDashboard}
{path: '/:orderId/dashboard', name: 'OrderDashboard', component: OrderDashboard}
Run Code Online (Sandbox Code Playgroud)

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

{path: '/:orderId', name: 'Order', component: OnlyToRedirect}
{path: '/:orderId/dashboard', name: 'OrderDashboard', component: OrderDashboard}
Run Code Online (Sandbox Code Playgroud)

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

希望这工作:)