#angular #angular2-routing
#угловая #angular2-маршрутизация
Вопрос:
Я пытаюсь определить уникальную структуру URL, однако, похоже, я не могу заставить дочерние / не найденные маршруты работать так, как я ожидаю.
например:
www.mysite.com/:id/home www.mysite.com/:id/about-us
Я создал модуль маршрутизации, и я делаю что-то вроде этого:
const routes: Routes = [
{
path: '',
component: ConciergeComponent,
pathMatch: 'full'
},
{
component: ConciergeComponent,
path: ':id',
children: [{
path: 'home',
component: HomeComponent
}]
},
{
path: '**',
component: NotFoundComponent
}
];
Если я перейду к www.mysite.com консьерж вызывается, как и ожидалось. Я выполняю некоторые предполетные проверки на основе бизнес-правил, прежде чем перенаправлять пользователя на правильную «целевую страницу».
Однако, когда я перехожу к / usr-12 / home, это не работает, вместо этого это выдает мне NotFound (который ожидает, когда маршрут не существует). Я чувствую, что мне не хватает чего-то очень маленького здесь?
Ответ №1:
Попробуйте это.
const routes: Routes = [
{
path: '',
component: ConciergeComponent,
pathMatch: 'full'
},
{
component: ConciergeComponent,
path: ':id/home',
children: [{
path: 'home',
component: HomeComponent
}]
}
];
Комментарии:
1. технически это не то, что я хочу делать. :id всегда будет родительским параметром, и впоследствии все страницы должны иметь суффикс к :id, например: usr-12 / home, usr-12 / about-us, usr-12 / login. требование заключается в том, чтобы пользователи могли идентифицировать, что они вошли в систему, по URL.