11

redirectTo-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. を使用して 2 つのルートを定義する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 に答える