2017-07-25 5 views
0

リストの最後の要素のみを返すフィルタの作成方法/最後の要素を除くすべての要素を返すフィルタを作成するにはどうすればよいですか?最後の要素の角度フィルタ

背景: 最後の項目を編集可能にする項目のリストがあります。そのために私はこのフィルタが必要です。

+2

をフィルタリングするPipeを使用することができますこれは、プレリリース(Alpha)バージョンのAngularを使用しています。 Angularはバージョン4.3.1になりました。それは*プレリリースから最終リリースまで大幅に*変更されました。私は、少なくともAngularのリリース版にアップグレードすることを強くお勧めします。そうしないと、使用している/使用しようとするコードはアプリケーションでは機能しません。 (例えば、alpha 44にはAngularモジュールがありませんでしたが、これはAngularの重要な機能です) – DeborahK

+0

@DebrorahKコードはこの問題で見つかったものです。私は最新バージョンで作業しています:) – Stefan

+0

。 ngFor構文もこのコードからかなり変更されていることに注意してください。したがって、最初から始めてこのコードを使用しようとするのは意味があります。あなたの*フィルタコードはこれまでのように見えますか? – DeborahK

答えて

1

あなたはそれが目に見える配列

パイプ

@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

関連する問題