Угловая маршрутизация с параметрами, перенаправление маршрута с параметрами отдельно от одного без параметров - PullRequest
0 голосов
/ 04 апреля 2019

В приложении Angular (v7) у меня есть настройка маршрутизации, подобная этой:

export const routes: Routes = [
  {
    path: '', 
    component: HomeComponent,
    children: [{
      path: '',
      component: Main
    },
    {
      path: 'main',
      component: Main
    },
     {
      path: 'search/:imageid',
      component: Image
    }, 
    {
      path: 'search',
      component: Search
    }]
}]

То, что я ожидаю, произойдет для URL, подобного этому:

domain.com/#/search;imageid=512

Маршрутизатор перенаправит на компонент Image и для URL-адреса, подобного этому:

domain.com/#/search

Маршрутизатор перенаправит на компонент поиска, но при поиске будет получено и то, и маршрут к изображению в обход.

Я не уверен, что мне здесь не хватает.

1 Ответ

1 голос
/ 04 апреля 2019

Вам не нужно повторять имя вашей переменной пути.

Путь, который вы должны использовать, - domain.com/#/search/512, и маршрутизатор будет обрабатывать переменную, как и ожидалось.

(makeубедитесь, что вы правильно определили свой HashLocationStrategy).

Также может быть полезно знать о существовании свойства pathMatch: 'full' на маршрутах, которое позволяет сопоставлять весь путь, а не только префикс.Это может быть проблемой здесь, но это не из-за порядка, в котором вы размещаете дочерние маршруты.Посмотрите это место в официальных документах для более точного развития.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...