Вы можете попробовать это:
path: 'chart',
component: ChartStateComponent,
canActivateChild: [ChartGuardService],
children: [
{
path: 'one/:id',
redirectTo: 'one/:id/profile',
pathMatch: 'full'
},
{ path: 'one/:id/:tab',
component: TestOneComponent
},
{ path: 'two/:id/:tab',
component: TestTwoComponent
},
...
],
В качестве альтернативы, вы можете создать охрану маршрута для обработки более сложной маршрутизации.См. Этот вопрос для получения дополнительной информации: Angular2 условная маршрутизация
ОБНОВЛЕНИЕ
Я не уверен, как вы могли бы добавить условное на основе параметра ... но вы можетедобавьте условие на основе глобальной переменной.
В файле "Globals":
export class Globals {
public static ISADMIN: boolean = false;
}
В определениях маршрутов вашего модуля
{
path: 'products/:id',
component: Globals.ISADMIN ? ProductAdminComponent : ProductDetailComponent
},