2017-03-16 3 views
0

Ich habe 2 Funktionen wie folgt für eine mehrstufige Konfiguration in einer Webseite.Wie stoppe ich Javascript ++ oder - - Bedingung

protected clickNext(event:any, config:any) : any{ 
    this.activeIndex++; 
} 

protected clickPrev(event:any, config:any) : any{ 
    this.activeIndex--; 
} 

Tasten:

<div class="form-group text-center"> 
     <!-- <a class="btn" style="color: white" [disabled]="disabled"> Previous </a> --> 
     <button type="submit" class="btn" style="color: white" [disabled]="prevBtn_disabled" (click)="clickPrev($event, _finalConfig)">Prev</button> 
     <button type="submit" class="btn" style="color: white" [disabled]="nextBtn_disabled" (click)="clickNext($event, _finalConfig)">Next</button> 
    </div> 

Wenn ich clickNext nächste Schaltfläche klicken, wird ausgelöst, und wenn ich zurück Taste clickPrev ausgelöst wird klicken. activeIndex ist eine Variable, die in HTML übergeben wird, um zu bestimmen, welcher Schritt aktiviert werden soll. Das ist die ganze Idee. Wie Sie sehen können, bekomme ich config, die ein Array ist. Was ich erreichen muss, ist, sobald ich den letzten Schritt oder das letzte Objekt im Array erreiche, muss ich nicht das gleiche tun, wenn ich am ersten Objekt bin und auf "vorher" klicken. Sollte nicht die -. Entschuldigung, bin eigentlich etwas neues in Javascript. Wie kann ich es erreichen? Vielen Dank im Voraus Jungs

+0

Sollte ich irgendwelche Schleifen und wenn sonst Bedingungen verwenden? Ich habe versucht, wenn sonst, aber irgendwie wird der Wert überschrieben. – blackdaemon

Antwort

1

können Sie testen, ob this.activeIndex auf den Index des ersten oder letzten Elements in der config Array bereits gleich ist:

protected clickNext(event:any, config:any) : any{ 
    if (this.activeIndex < config.length - 1) { 
     this.activeIndex++; 
    } 
} 

protected clickPrev(event:any, config:any) : any{ 
    if (this.activeIndex > 0) { 
     this.activeIndex--; 
    } 
} 

Es wäre gut, auch Ihre Weiter oder zu deaktivieren Prev Tasten, wenn bereits im letzten oder ersten Schritt, so dass der Benutzer ein Anzeichen dafür hat, dass sie am einen oder anderen Ende sind. (Aber ich kann Ihnen nicht sagen, wie das geht, weil Sie Ihre Knöpfe nicht zeigen.)

+0

Ja, ich habe eine Variable für die Deaktivierung der nächsten und vorherigen Tasten. Kann mich nnnnn führen, wie man das macht? – blackdaemon

+0

Kann ich es in dieser Funktion selbst tun? – blackdaemon

+0

für den nächsten kann ich array.length mit dem Index verwenden, aber für den prev, wie das geht? – blackdaemon