Angular 5: определение идентификатора документа пожарного хранилища по событию щелчка - PullRequest
0 голосов
/ 28 августа 2018

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

Я использую событие щелчка в строке, как показано ниже

<tbody>
      <tr *ngFor="let row of rows | orderBy: key : reverse | filter:filter | paginate: { itemsPerPage: 100, currentPage: p}" (click)="detailFunc()" [id]="row.id">
           <td>{{row.entreprise}}</td>
           <td>{{row.secteurActivite}}</td>
           <td>{{row.filiere}}</td>
           <td>{{row.departement}}</td>
           <td>{{row.proprietaire}}</td>
           <td>{{row.telephone}}</td>
           <td>{{row.email}}</td>
       </tr>
</tbody>

Это компонент, прикрепленный к нему

import { Component, OnInit, AfterViewInit, Input } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { AngularFirestore } from 'angularfire2/firestore';
import { ExportAsConfig } from '../../services/export-as-config.model';
import { ExportAsService } from '../../services/export-as.service';
import { EconomieService } from '../../services/economie.service';
import { Ieconomie } from '../../economie';
import { Router, Params } from '@angular/router';


@Component({
  selector: 'app-economie',
  templateUrl: './economie.component.html',
  styleUrls: ['./economie.component.scss']
})
export class EconomieComponent{
  temp = [];
  rows = [];
  filter: string;
  @Input() id: string;

  // sort
  key: string = ''; 
  reverse: boolean = false;
  sort(key){
  this.key = key;
  this.reverse = !this.reverse;
};

// pagination indicator 
p: number = 1;

// export config section
config: ExportAsConfig = {
type: 'pdf',
elementId: "datatables",
};

  constructor(private afs: AngularFirestore,private dataService: EconomieService,
       private exportAsService: ExportAsService,private router: Router ) { 
       this.dataService.getData().subscribe((datas) => {
         this.temp = [...datas];
         this.rows = datas;
         console.log(this.temp);
       });
  }

  exportAs(type) {
    this.config.type = type;
    this.exportAsService.save(this.config, "Liste_Elus");
    // this.exportAsService.get(this.config).subscribe(content => {
    //   this.exportAsService.download("myfile", content);
    // });
  }

  detailFunc() {
    this.router.navigate(['/dataMan', this.id]);

  }
}

когда я пытался отобразить идентификатор с помощью console.log (this.id) в функции detailFunc, он отображал неопределенное значение.

Есть идеи по поводу лучшей стратегии для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...