Я использую angular2 роутер.
Чтобы нарисовать кусок URL-адреса, скажем, site.com/a/b/c/15, я делаю следующее:
- Получить маршрут
site.com/a/b/c/15
и получить красивое имя, связанное с маршрутом - Получить маршрут
site.com/a/b/c
и получить красивое имя, связанное с маршрутом - Получить маршрут
site.com/a/b
и получить красивое имя, связанное с маршрутом - Получить маршрут
site.com/a
и получить красивое имя, связанное с маршрутом
Итак, скажем, у меня есть следующие маршруты:
{ path: 'a', component: A, data:{prettyName: 'I am A'}}
{ path: 'b', component: B, data:{prettyName: 'I am B'}},
{ path: 'c', component: C, data:{prettyName: 'I am C'}},
Результатом моего процесса будет массив, содержащий {"I am C", "I am B", "I am C"}
, и благодаря этому я могу отобразить красивую палитру "I am A > I am B > I am C"
, которая объясняет текущий маршрут.
Это использование для работы с устаревшим маршрутизатором
this.router.recognize(url).then((instruction) => {
instruction.component.routeData.get('prettyName') // Would return 'I am ..'
Однако сейчас; с последним маршрутизатором я больше не могу обработать эту распознающую логику.
Как получить данные маршрута, связанные с URL?