2016-01-20 148 views
10

有沒有辦法訪問redirecTo-Statement中的routerParams?Angular2路由重定向routeParams

我想通過「訂單」路線「OrderDashboard」路線的訂單ID,但我想不出什麼,而不是寫的???

如果我3取代???一切工作正常(在情況下,用戶只intrested在訂單號3 ;-))

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

回答

5

晚於黨,但無論如何,

我無法找到任何accesi參考納克routeParamsrouter.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}]) 
    } 
} 

希望這個作品:)