Как реализовать маршрутизацию относительного перенаправления с помощью параметров запроса и фрагмента

У меня есть одна проблема в разработке Angular проекта.

Я попытался найти решение о том, как реализовать относительные перенаправления маршрутов с помощью параметра "Когда перенаправления URL-адресов, в котором перенаправление источника имеет свои относительные параметры запроса и fragment.

Например, в руководстве Angular.io.

const heroesRoutes: Routes = [
  { path: 'heroes', redirectTo: '/superheroes' },
  { path: 'hero/:id', redirectTo: '/superhero/:id' },
  { path: 'superheroes',  component: HeroListComponent },
  { path: 'superhero/:id', component: HeroDetailComponent }
];

в деталях героя, goback() функция для возврата обратно к HeroListComponent. я добавил relativeTo: this.route, Но это не работает.

gotoHeroes(hero: Hero) {
  let heroId = hero ? hero.id : null;
  // Pass along the hero id if available
  // so that the HeroList component can select that hero.
  // Include a junk 'foo' property for fun.
  this.router.navigate(['/heroes', { id: heroId, foo: 'foo' }], {relativeTo: this.route});
}

При настройке перенаправления на супергероев я не знаю, как реализовать эту функцию.

2 ответа

Вам нужен относительный маршрут, поэтому в зависимости от того, где вы находитесь, это должно сработать, чтобы вернуться:

this.router.navigate(['../', { id: heroId, foo: 'foo' },  {relativeTo: this.route}]);

Вы можете использовать что-то вроде -

       this.router.navigate(
    ['hero','12345'],
    {
      relativeTo: this.route,
      queryParams: {
        type: 'value',
      },
    }
  );
Другие вопросы по тегам