У меня есть приложение Angular 2 с несколькими представлениями вложенных детей. Но он будет отображаться на одной странице, хотя несколько router-outlet
.
const routes: Routes = [
{
path: 'queue/:date/:offset/:type',
component: BundleListComponent,
resolve: {
response: BundleListResolve
},
children: [
{
path: ':bundleId', component: PointListComponent,
resolve: {
response: PointListResolve
},
children: [
{
path: ':pointId', component: TaskListComponent,
resolve: {
response: TaskListResolve
},
children: [
{
path: ':taskId', component: TaskDetailComponent,
resolve: {
response: TaskDetailResolve
}
},
{ path: '', component: EmptyComponent }
]
},
{ path: '', component: EmptyComponent }
]
},
{ path: '', component: EmptyComponent }
]
},
{
path: 'queue',
component: QueueRedirectComponent
}
}
Так что в основном я могу путешествовать по списку маршрутов
- /очередь
- /очередь/:/Дата: офсет/Тип
- /очередь/:/Дата: офсет/Тип/: BundleID
- /очередь/:/Дата: офсет/Тип/: BundleID/: pointId
- /очередь/:/Дата: офсет/Тип/: BundleID/: pointId/: TaskId
Например
#/queue/2017-01-05/480/20/57f4c26507b36e3684007b52/1/57fb0abb07b36e39d8e88df8/1
Представьте, что у вас есть страница с некоторым элементом:
- Одна часть пользовательского интерфейса показала список фильмов
- Другая часть показывает детали фильма при нажатии на элемент в списке фильмов, но отображается на той же странице.
- Еще одна часть, чтобы показать детали персонажа, когда вы нажимаете на имя символа в деталях фильма, а также показываете на той же странице.
- и т.д...
В принципе, я все еще могу щелкнуть в списке фильмов, пока я просматриваю детали персонажа.
Поиск определения имени для каждого маршрута, но, похоже, все ответы на ответ, эта функция уже удалена из Angular 2 final. В Angular 1 с использованием UI-маршрутизатора я могу определить имя для каждого маршрута и легко получить маршрут с помощью встроенной функции state.is(ROUTE_NAME)
.
Итак, что я делаю сейчас, это база на window.location, чтобы получить URL-адрес и разбить эту строку на /
, чтобы получить количество параметров. Но это более жестко закодированное.
Есть ли опыт в том, чтобы делать то же самое? Как я могу различить, какой маршрут в данный момент активен?