Отправка данных с углового роутера

1

У меня есть поисковый ящик, в котором вы просматриваете массив, полный телевизионных шоу (и их соответствующих идентификаторов).

landingpage.component.html

 <li (click)="selectShow(list.show)" [routerLink]="['/details', list.id]" *ngFor="let list of shows"> </li>

Когда пользователь нажимает на шоу, он передает идентификатор этого шоу новому маршруту в качестве параметра и загружает мой результат. Функция selectShow просто регистрирует имя выбранного шоу.

Моя проблема:

Я хочу отправить значение show (list.show) на мой resultpage.com, через Angular router. Кажется, я не могу найти информацию о том, как это сделать в документах.

Как я могу передать свои данные list.show моему результату с помощью Angular router?

  • 0
    Если вы хотите, чтобы данные распределялись между различными компонентами, вам следует попробовать сервисы. Не уверен, как это сделать с помощью маршрутизатора, но да, можно сделать с помощью служб.
Теги:
angular

1 ответ

0
Лучший ответ

Поскольку маршрут не будет иметь ничего больше, чем list.id вам нужно получить данные при посещении ссылки /details.

Обычно это делается путем создания Resolve для данных

https://angular.io/api/router/Resolve

Это происходит до того, как вы посетили ваши /details он проверяет, чтобы проверить, зарегистрированы ли вы для этого маршрута.

Затем вы сможете получить эти данные с маршрутизатора.

@Component()
export class DetailComponent implements OnInit {

  listDetails: Details;

  constructor(private route: ActivatedRoute) {}

  ngOnInit() {
    this.listDetails = this.route.snapshot.data['details'];
  }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню