2017-10-03 4 views
1

trackBy関数(たとえばngFor内)は、インデックスとアイテム(繰り返し処理されるコレクションの)の2つの引数を提供します。 trackBy関数に追加情報(パラメータとして)を渡す方法はありますか?ngForカスタムパラメータを持つtrackBy関数

私のケースでは、私のコンポーネント(ngForを含む)のインスタンスごとに、異なるフィールド名を使ってさまざまな型を繰り返し処理している場合があります。理想的には、項目のどの項目を読み込むべきかを示す3番目のパラメータを渡すことができます。

答えて

1

bind方法は、あなたがこのトリックを行うのを助けることができる

template.html

<div *ngFor="let item of items; trackBy: trackByFn.bind(this, 'name')"> 
    {{ item }} 
</div> 

component.ts

items = [ 
    { 
    id: 1, 
    name: 'name1' 
    }, 
    { 
    id: 2, 
    name: 'name2' 
    } 
] 
trackByFn(customParam, index, item) { 
    return item[customParam]; 
} 
関連する問題