0
私はangular4アプリケーションを構築しています。私はカスタムフィルターパイプを書いています。私は一つの成分だけで私のプロパティ名ngFor、すべては学生のコンポーネントの例 1)のために異なっている中で、私が使用するようなフィルターパイプに使用することができます:統計コンポーネントにすべてのコンポーネントのフィルターパイプ
<ul>
<li *ngFor="let studentReport of studentReports | filter: term">
</li>
</ul>
2)私はこれを持っていると私はしたいですここでまた私のフィルターパイプを使用します
<ul>
<li *ngFor="let statReport of statReports">
</li>
</ul>
私のカスタムパイプは、私は前夜にそれを使用することができる何かに値を変更する必要があり、この
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(studentReports: any, term: any): any {
//check search term if undefined
if(term == undefined) return studentReports;
//return updated array
return studentReports.filter(function(studentReport) {
return studentReport.name.toLowerCase().includes(term.toLowerCase())
});
}
}
のようなものですryコンポーネント..
誰かが私を助けてくれたら分かります。
あなたの問題を説明してください、あなただけいただきました!間違っ –
あなたが欲しいものを説明しただけではなく、ヘッドアップこのこと悪い習慣です:Angularには 'FilterPipe'や' OrderByPipe'が付いていないのが良い理由があります。これを読んでください:https://angular.io/docs/ts/latest/guide/pipes.html#!#no-filter-pipe。コンポーネントではなく、テンプレートで順序付けとフィルタリングを行う必要があります。 – mtx
@mtxコメントありがとうございます。この記事では、「Angularチームと多くの経験豊富なAngular開発者は、フィルタリングとソートロジックをコンポーネント自体に移すことを強く推奨します」と述べています。 ..質問はどのように私は検索入力とコンポーネントにフィルタリングを移動することができますか? –