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

如何跳过*ngFor中的第一项和最后一项

  •  0
  • aloisdg  · 技术社区  · 6 年前

    我有一份物品清单。第一行是一种标题。最后一行是一种页脚。我的页眉和页脚需要特殊处理,所以我不想通过这个循环显示。

    json码:

    {
      "items": [1,2,3,4]
    }
    

    我现在的代码:

    <ul *ngFor="let item in items">
     <li>{{item}}</li>
    </ul>
    

    输出应为:

    <ul>
     <li>2</li>
     <li>3</li>
    </ul>
    
    3 回复  |  直到 6 年前
        1
  •  5
  •   aloisdg    6 年前

    index:number:iterable中当前项的索引。

    <ul>
        <ng-container *ngFor="let item of items; let i=index">
            <li *ngIf="i != 0 && i != items.length-1">{{item}}</li>
        </ng-container>
    </ul>
    
        2
  •  4
  •   aloisdg    6 年前

    <ul>
        <li *ngFor="let item of items | slice:1:items.length-1">{{item}}</li>
    </ul>
    
        3
  •  2
  •   aloisdg    4 年前

    可以先使用局部变量,后使用局部变量:

    • last:boolean:当项是iterable中的最后一项时为True。
    <ul>
        <ng-container *ngFor="let item of items; first as isFirst; last as isLast">
            <li *ngIf="!isTrue && !isLast">{{item}}</li>
        </ng-container>
    </ul>