最后一个元素的角度过滤器

时间:2017-07-25 15:44:33

标签: angular angular-filters

如何编写一个过滤器,它只返回列表的最后一个元素/如何编写一个返回除最后一个元素之外的所有过滤器。

背景: 我有一个项目列表,其中最后一项应该是可编辑的。因此我需要这个过滤器才能得到它。

1 个答案:

答案 0 :(得分:1)

您可以使用Pipe过滤数组

<强>管

@Pipe({name: 'lastItem'})
export class LastItemPipe implements PipeTransform {
  transform(items: any[], exclusive: boolean): any {
    if (exclusive) { return items.slice(0, items.length - 1); }
    return [items[items.length - 1]];
  }
}

<强>模板

<h2>list without</h2>    
<div *ngFor="let item of items | lastItem:true">{{item}}</div>    
<h2>list with</h2>    
<div *ngFor="let item of items | lastItem:false">{{item}}</div>

Live plunker example