2016-11-07 4 views
1

Я пытаюсь найти способ отображения определенного компонента, когда URL имеет только определенное значение. В основном это, как выглядит маршрутизации в настоящее время:Angular2 route, соответствующий определенному значению

const routes: Routes = [ 
    { 
    path: 'users', 
    component: MainComponent, 
    children: [ 
     { 
     path: ':id', 
     component: DashboardComponent, 
     children: [ 
      { 
      path: '1', 
      component: NeedToRenderThisComponent 
      }, 
      { 
      path: '', 
      component: DashboardComponent 
      }, 
      { 
      path: '', 
      outlet: 'sidebar', 
      component: SidebarComponent 
      } 
     ] 
     } 
    ] 
    } 
]; 

Так что я ищу, когда пользователь нажимает или вводит другой путь на «/ пользователей/1», пользователь увидит NeedToRenderThisComponent. Для всех остальных значений будет DashboardComponent.

DashboardComponent содержит два маршрутизатора розетки

<router-outlet name="sidebar"></router-outlet> 
<router-outlet></router-outlet> 

ответ

0

Вы можете использовать path: '**' маршрут, а затем добавить компонент себя как, показанные в Angular 2 dynamic tabs with user-click chosen components.

AFAIK не существует способа сопоставить значения. Были маршруты регулярных выражений в более старом маршрутизаторе, но в текущем маршрутизаторе это еще не реализовано.

обновление

Поддержка пользовательских matchers пути высадили и, вероятно, будет доступен при следующем обновлении https://github.com/angular/angular/issues/12442

+1

Так в основном thiss будет соответствовать все и сделает компонент, а затем в компоненте я буду визуализировать динамические компоненты на основе URL-адреса, правильно? – user2732627

+0

Точно, это была моя идея. –

+0

Кажется, что поддержка пользовательских совпадений пути приземлилась. См. Мой обновленный ответ. –

Смежные вопросы