With angular2 is it possible to get the current *ngFor index value on click?
I have a list of clients and I want to get their index value.
<button ion-item *ngFor="let customer of customers" (click)="showRadio()">
{{ customer.customer_name }}
</button>
showRadio(currentIndex) {
//................
for(var j=0; j<myResult[currentIndex].bookingIds.length; j++) {
alert.addInput({
type: 'radio',
label: myResult[currentIndex].bookingIds[j],
value: myResult[currentIndex].bookingIds[j],
checked: false
});
}
ngFor specify
index will be set to the current loop iteration for each template context.
so you need to do:
<button ion-item *ngFor="let customer of customers; let i = index;" (click)="showRadio()">
{{ i }} - {{ customer.customer_name }}
</button>
You can have the index in the customer object and then pass it in the function
[{"customer_index":1,"customer_name":"jason"},
{"customer_index":2,"customer_name":"mary"}];
and then pass it in the function
<button ion-item *ngFor="let customer of customers" (click)="showRadio(customer.customer_index)">
{{ customer.customer_name }}
</button>