2016-03-02 17 views
5

Ich habe eine Liste von Zeilen, und jede Zeile hat 2 weitere Schaltflächen mehr. Ich möchte die Schaltfläche beim Klick-Ereignis deaktivieren, sobald ich den Ajax-Anruf beendet habe, kann ich ihn wieder aktivieren oder ganz ausblenden.ionic2 + angular2 - Deaktivieren Sie die Schaltfläche beim Klicken

Also ich frage mich, wie ich diese einzelne Schaltfläche auf Klick-Ereignis deaktivieren kann.

Wie kann ich vom Ereignis abschalten?

<button [disabled]="buttonDisabled" (click)="trigger($event)"> 

trigger ($event) 
{ 
    $event.buttonDisabled = true; // ? 
} 

Antwort

4
<div *ngfor="#row of rows"> 
    <button [disabled]="awaitingAjaxCall[row] ? true : null" (click)="trigger($event, row)"> 
</div> 
rows: [0,1,2]; 
awaitingAjaxCall:boolean[] = [false, false, false]; 
trigger ($event, row) 
{ 
    this.awaitingAjaxCall[row] = true; 
    this.http.get(...).map(...).subscribe(value => { 
    this.value = value; 
    // or here 
    // this.awaitingAjaxCall[row] = false; 
    }, error => {}, 
() => this.awaitingAjaxCall[row] = false); 
} 
+0

Ihre Frage hat nur eine Taste. Was sind die anderen Tasten? Welche (n) möchten Sie aktivieren/deaktivieren? –

+0

auf meine Frage heißt es. Ich habe eine Liste von Reihen und jede Reihe hat 2 oder mehr Knöpfe. jede Schaltfläche ist anklickbar (nach dem Klick muss sie bis zum Ajax-Aufruf deaktiviert werden) – Basit

+0

Alle Schaltflächen der Zeile, auf die geklickt wurde? –

Verwandte Themen