1
どのように2本のパイプを連続して使用しますか?ブール型プロパティだけでなく、タグのプロパティ(ユニット、タスク、サブタスク):特定の私のスレッドで角2の連続パイプ
<div class="thread" *ngFor="thread of threadlist | bookmarkPipe | threadPipe"></div>
は、ブックマークを持っています。実際に それでは、私が達成したいことは、最初のパイプがブックマークされているすべてのスレッドをフィルタリングすることで、その後(下)第二のパイプを適用
export class ThreadPipe implements PipeTransform{
transform(array:Thread[], [unit,task,subtask]):any{
//See all Threads
if(unit == 0 && task == 0 && subtask == 0){
return array
}
//See selected Units only
if(unit != 0 && task == 0 && subtask == 0){
return array.filter(thread => {
return thread.unit === unit;
});
}
//See selected Units and Tasks
if (unit != 0 && task != 0 && subtask == 0){
return array.filter(thread => {
return thread.unit === unit && thread.task === task;
});
}
// See selected units, tasks, subtask
if (unit != 0 && task != 0 && subtask != 0){
return array.filter(thread => {
return thread.unit === unit && thread.task === task && thread.subtask === subtask;
});
}
}
}
こんにちは、お返事ありがとうございます。パイプ1 |パイプ2 | pipe3はこれのようなものを意味するでしょうか? ((#データのデータ|パイプ1)|パイプ2)| pipe 3 –
また、angle.ioを読んだだけで、パイプでリストフィルタリングをすることが奨励され、コンポーネント内部で行うべきであることがわかりました。しかし、私はこの場合、ユーザーがフィルタを一度クリックするだけで、パイプは一度だけ呼び出されると思います。 –
ここは正しいアプローチだと思います。あなたは "純粋ではない"(ステートフルな)パイプを持っているときには、バインディングが更新されるたびにパイプが呼び出されるため、少し違っています。詳細については、Mark Rajcokの素晴らしい回答をご覧ください:http://stackoverflow.com/questions/34456430/ngfor-doesnt-update-data-with-pipe-in-angular2/34497504私は、angle.ioウェブサイトのリンクに興味があります;-) –