angular - kalla på funktion för varje rad i *ngFor angular2
Jag måste visa en tabell och kalla på en funktion för varje rad i tabellen, och funktionen kallas en gång per rad.
<tr *ngFor="let item of mf.data" >
<td >
<button (click)="remove(item)" class="btn btn-danger">x</button>
</td>
<td>{{item.name}}</td>
<td>{{item.email}}</td>
<td class="text-right">{{item.age}}</td>
<td>{{item.city | uppercase}}</td>
</tr>
Var snäll och föreslå hur jag ska implementera denna funktionalitet??
Svar #1
Du kan lägga till en direktiv
@Directive({ selector: '[invoke]'})
class InvokeDirective {
@Output() invoke:EventEmitter = new EventEmitter();
ngAfterContentInit() {
this.invoke.emit(null);
}
}
Och använd det som
<tr *ngFor="let item of mf.data" (invoke)="myFunction(item)" >
