передача идентификатора (щелчок) другому компоненту или маршруту

#angular #angular-routing #angular-component-router

#angular #angular-маршрутизация #angular-component-router

Вопрос:

Мне нужно передать идентификатор вместе с событием щелчка другому компоненту

вот component.ts

  editData(rcid){
      this.router.navigate(['/Editdata']);
  }
 

rcid — это идентификатор выбранного элемента. И маршрутизатор «/ editdata» — это место, где должен быть передан идентификатор.

Я проверил с помощью сеанса и локального хранилища, но при вводе другого идентификатора необходимо обновить страницу

пожалуйста, помогите мне с этим. Я новичок в angular

Комментарии:

1. почему вы не передаете его в route? использование параметра запроса или пути.

2. @AakashGarg я не знаю, можете ли вы показать пример

3. tektutorialshub.com/angular/angular-passing-parameters-to-route

4. @AakashGarg идентификатор передается компоненту, но он мне нужен в сервисном компоненте. Есть ли способ?

5. это может быть компонент или служба, что такое компонент службы?

Ответ №1:

вы можете передать второй аргумент navigate этому NavigationExtras интерфейсу implements:

 this.router.navigate(['/Editdata'], { state: { id: '123' } });
 

в вашем принимающем компоненте вы можете извлечь его:

 constructor(private router: Router) {
  this.id = this.router.getCurrentNavigation().extras.state.id;
}
 

Комментарии:

1. он показал мне эту ошибку Error: Cannot instantiate cyclic dependency!