2017-01-26 13 views
2

Я использую именованные маршрутизаторы в своем приложении для реализации маршрутизации в одном из разделяемых модулей.Как удалить скобки в URL-адресе при использовании дочерних/вспомогательных маршрутов (названных маршрутизаторов) в Angular2?

Это то, что конфигурация выглядит в AppRoutingModule (корень):

const routes: Routes = [ 
    { 
    path: '', 
    children: [ 
     { 
     path: 'home', 
     component: HomeDetailsComponent, 
     }, 
     { 
     path: 'call', 
     component: CallDetailsComponent 
     }, 
    ] 
    } 
]; 

Затем, когда пользователь переходит к первому пути, то есть «/ дом», то есть отдельный модуль маршрутизации для этого модуля, имеет следующую конфигурацию:

const curriculumRoutes: Routes = [ 
    { 
    path: 'home', 
    component: HomeDetailsComponent, 
    children: [ 
     { 
     path: ':id', 
     component: RoomDetailsComponent, 
     outlet: 'chapter', 
     } 
    ] 
    }, 
]; 

для первой конфигурации корня, я использую основной выход для отображения компонентов и для второй конфигурации, я использую по имени маршрутизатор «главы». URL-адрес, который я получаю от первичного выхода маршрутизатора заключается в следующем:

http://localhost:3000/#/home 

Но дальше им выходе маршрутизатора, это так:

http://localhost:3000/#/home/(chapter:2) 

Как иметь URL, как это для имени маршрутизатора выходов, а также:

http://localhost:3000/#/home/chapter/2 
+0

Вы получили дальше? –

ответ

3

Вы можете предоставить пользовательский URL сериалайзер

https://angular.io/docs/ts/latest/api/router/index/UrlSerializer-class.html

+0

Можете привести пример –

+1

Извините, у меня нет необходимости. Просто добавьте встроенный (по умолчанию) вариант, настройте его поведение или скопируйте его и настройте код. Предоставьте ему 'providers: [{UrlSerializer, useClass: MyUrlSerializer}]' в 'AppModule'. –