如何停止javascript ++或 - - condition

时间:2017-03-16 02:02:39

标签: javascript jquery angular typescript typescript2.0

我有两个功能,如下所示,用于网页中的多步配置。

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

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

按钮:

<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>

当我点击下一个按钮clickNext时会触发,当我点击上一个按钮clickPrev时会触发。 activeIndex是一个传递到html的变量,用于确定要激活的步骤。这就是整个想法。正如您所看到的那样,config是一个数组。我需要实现的是,一旦我到达数组中的最后一步或最后一个对象,我不需要为第一个对象执行++相同,然后单击prev。不应该做 - 。对不起,我实际上是Javascript的新手。我怎样才能实现它?在此先感谢你们

1 个答案:

答案 0 :(得分:1)

您可以测试this.activeIndex是否已经等于config数组中第一个或最后一个项的索引:

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

如果已经在最后一步或第一步,也可以禁用 Next Prev 按钮,以便用户有一些迹象表明他们在一个结束或其他。 (但我无法告诉你如何做到这一点,因为你没有显示你的按钮。)