2017-04-17 7 views
2

Mit angular2 ist es möglich, den aktuellen *ngFor Indexwert auf Klick zu bekommen? Ich habe eine Liste von Clients und ich möchte ihren Indexwert erhalten.So erhalten Sie den aktuellen Index für Klick angular2

<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 
    }); 

    } 

enter image description here

Antwort

4

ngFür angeben

index wird für jeden Vorlagenkontext auf die aktuelle Schleifeniteration gesetzt.

so müssen Sie tun:

<button ion-item *ngFor="let customer of customers; let i = index;" (click)="showRadio()"> 
      {{ i }} - {{ customer.customer_name }} 
</button> 
2

Ich habe Figur aus der Lösung. Lassen Sie einfach die let i = index und setzen Sie das i als Parameter in der Funktion.

<button ion-item *ngFor="let customer of customers; let i = index" (click)="showRadio(i)"> 

Credit: youtube

0

Sie können den Index im Kundenobjekt haben und es dann in der Funktion übergeben

[{"customer_index":1,"customer_name":"jason"}, 
{"customer_index":2,"customer_name":"mary"}]; 

und es dann in der Funktion übergeben

<button ion-item *ngFor="let customer of customers" (click)="showRadio(customer.customer_index)"> 
      {{ customer.customer_name }} 
    </button> 
Verwandte Themen