Контекст заключается в том, что я отображаю коллекцию в таблице данных, и я хотел бы получить идентификатор строки для запуска маршрутизатора на странице сведений. Я успешно получаю коллекцию, используя, но мне не удается получить идентификатор строки .
Я использую событие щелчка в строке, как показано ниже
<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, он отображал неопределенное значение.
Есть идеи по поводу лучшей стратегии для этого?