使用routeParams进行Angular2路由重定向

时间:2016-01-20 19:33:37

标签: angular angular2-routing

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

我想传递' Order'的订单ID。路线到' OrderDashboard'路线,但我无法弄清楚要写什么,而不是???

如果我用???替换3一切正常(如果用户只对第3号订单感兴趣;-))

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

1 个答案:

答案 0 :(得分:5)

迟到派对但无论如何,

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}])
  }
}

希望这有效:)