ahmed_sa Ответов: 1

Как передать имя таблицы от первого компонента ко второму компоненту на angular 7 при нажатии кнопки ?


Как передать имя таблицы от первого компонента ко второму компоненту на angular 7 при нажатии кнопки ?

У меня есть два компонента и мне нужно передать имя таблицы от первого компонента ко второму при нажатии кнопки на первом компоненте


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

Что я уже пробовал:

first component.ts

 <button class="btn btn-success"   (click)="getReferenceDataForEmp()">ReferenceFile</button> 
 getReferenceDataForEmp() {
  console.log('Reference fire');  
  this.router.navigate(['References']); 
   }
second component.ts

ngOnInit() {
    console.log('welcome');
     this.apiservice.getReferenceDataForEmployee('Employees')
    .subscribe( data=>{
     this.RefListVal = data; //SUBSCRIBE HERE
     console.log(this.RefListVal);

     });
on API service function getreferenceDataForEmployee
 getReferenceDataForEmployee(tablename : string):Observable<referencecolumns[]> {
                return this.http.get<referencecolumns[]>('https://localhost:44326/api/Reference/'+ tablename);
              }

1 Ответов

Рейтинг:
1

Pete O'Hanlon

Есть несколько способов, которыми вы могли бы это сделать. Вы можете использовать родительский компонент в качестве координатора, поэтому у вас может быть EventEmitter в компоненте, содержащем таблицу, а затем, когда он установлен, он вызывает событие, которое прослушивается родителем. Затем родитель обновит привязку с помощью входных данных. Это довольно неуклюжий способ.

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