Angular2 маршрутизация с одним параметром не работает
Моя простая маршрутизация не работает, и я не знаю, почему... Команда ниже сообщила загрузить PageNotFoundComponent вместо OffertDetailComponent
app.routing
{
path: "OffertDetail/:idOffert",
component: OffertDetailComponent
},
{
path: '**',
component: PageNotFoundComponent
}
команда маршрута
this.router.navigate(['OffertDetail', {idOffert: 1073}]);
Если я удаляю "/idOffert" из ap.Routing и параметр из команды, компонент загружается правильно.
Благодаря поддержке
1 ответ
Я полагаю, что вы смешиваете параметры запроса и параметры маршрута. Попробуйте изменить свой router.navigate
к следующему, сохраняя путь как "OffertDetail/:idOffert"
:
this.router.navigate(['OffertDetail', '1073']);
Из https://angular.io/docs/ts/latest/guide/router.html
Чтобы установить параметры запроса:
// Set our navigation extras object
// that contains our global query params and fragment
let navigationExtras: NavigationExtras = {
queryParams: { 'session_id': sessionId },
fragment: 'anchor'
};
// Navigate to the login page with extras
this.router.navigate(['/login'], navigationExtras);
Чтобы использовать параметры маршрута:
this.router.navigate(['/hero', hero.id]);
И параметр получает имя :param
из конфига роутера.
Чтобы передать два параметра маршрута, скажем, наш путь в нашей конфигурации маршрута path: "OffertDetail/:idOffert/detail/:someId"
мы можем передать параметры этому:
this.router.navigate(['/OffertDetail', someParameter, 'detail', someOtherValue]);