Wie verwende ich zwei Rohre nacheinander?eckig 2 sequentielle Rohre
Speziell meine Threads haben ein Lesezeichen: Boolesche Eigenschaft sowie Tag-Eigenschaften (Einheit, Aufgabe, Teilaufgabe). Also, was ich erreichen will ist, dass das erste Rohr alle Themen Filter, die vorgemerkt werden, gelten dann die zweite Leitung (unten)
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;
});
}
}
}
Hallo danke für die schnelle Antwort, also im Grunde #elt von Daten | pipe1 | pipe2 | pipe3 würde so etwas bedeuten? ((#elt von Daten | pipe1) | pipe2) | Pipe 3 –
Auch ich habe gerade auf angular.io gelesen, dass es empfohlen wird, List-Filterung mit Rohren zu tun, und dass es innerhalb der Komponente erfolgen sollte. Aber ich denke in diesem Fall, wo Benutzer nur einmal auf den Filter klicken und die Pipe nur einmal aufgerufen wird, sollte es in Ordnung sein? –
Ich denke, dass es hier der richtige Ansatz ist. Wenn Sie "nicht reine" (stateful) Pipes haben, ist es ein bisschen anders, da die Pipe jedes Mal aufgerufen wird, wenn Bindungen aktualisiert werden. Sehen Sie dieses Mark Rajcoks fantastische Antwort für mehr Details: http://stackoverflow.com/questions/34456430/ngfor-doesnt-update-data-with-pipe-in-angular2/34497504. Ich würde mich für den Link auf der angular.io Website interessieren ;-) –