代码之家  ›  专栏  ›  技术社区  ›  tatamingi

*ngFor下一个元素

  •  4
  • tatamingi  · 技术社区  · 8 年前

    <div *ngFor="let Item of Items" (click)="add("*next Item should be here*")"></div>
    

    我需要发送给函数add(),不是Item,而是下一个元素。我怎么能打电话;它 我应该在箭头结束的时候停下来,以免退出阵列

    1 回复  |  直到 8 年前
        1
  •  3
  •   Dai    8 年前

    如果 Items 是一个数组或索引集合,可以使用特殊 index

    <div *ngFor="let item of items; let i = index" (click)="add( i )">
    

    然后在你的 add 函数,您将检查索引:

    add(index: number): void {
    
        let nextIndex = index + 1;
        if( nextIndex < this.items.length ) {
            // do stuff
        }
        else {
            // error: there is no next-item
        }
    }
    

    此处记录了这一点: https://angular.io/api/common/NgForOf

    • index: number -iterable中当前项的索引。
    • first: boolean -当项是iterable中的第一项时,为True。
    • last: boolean -当项是iterable中的最后一项时,为True。
    • even: boolean -当项在iterable中具有偶数索引时,为True。
    • odd: boolean -当项在iterable中具有奇数索引时,为True。