2017-01-27 5 views
1

Я блуждаю, если можно перенаправить путь: '' to path: ': id'? Есть ли способ, которым я могу это достичь?Маршрут без значения параметра; Переадресация углового маршрута. Могу ли я использовать redirectTo для пути к параметру?

спасибо.

{ 
    path: 'folder', 
    children: [ 
    { 
     path: '', 
     redirectTo: ':id', 
     pathMatch: 'full', 
    }, 
    { 
     path: ':id', 
     canActivate: [AuthGuard], 
     component: DocumentsComponent, 
    }, 
    ] 
} 

ответ

2

Я нашел способ перенаправления «папки» путь к «папке /: ИД» с пустым параметром «ид»:

{ 
    path: 'folder', 
    redirectTo: 'folder/', 
    pathMatch: 'full', 
}, 
{ 
    path: 'folder', 
    children: [ 
     { 
      path: ':id', 
      canActivate: [AuthGuard], 
      component: DocumentsComponent, 
     }, 
    ] 
} 

* Обратите внимание, что редирект должен быть первым.

+1

хороший подход, thx! – voznik

0

Я не думаю, что вы можете.

Свойство redirectTo должна быть строкой, и вам нужно будет пройти ссылки параметров массив а со значением для :id паров.

Это немного хака, но вы могли бы перенаправить пустой путь к жестко закодированы путям, связанным с компонентом, который перенаправляет ':id' программно (с помощью router.navigate()) ...

1

если вы даете по умолчанию Идентификатор позволяет говорить 1 и redirectTo '1', как показано ниже, он должен работать,

{ 
    path: 'folder', 
    children: [ 
    { 
     path: '', 
     redirectTo: '1', 
     pathMatch: 'full', 
    }, 
    { 
     path: ':id', 
     canActivate: [AuthGuard], 
     component: DocumentsComponent, 
    }, 
    ] 
} 

Надежда это помогает !!

+0

Этот вид работ, спасибо. –