Ich weiß, dass ich eine Pfeife wie diese nennen kann:
{{ myData | date:'fullDate' }}
Hier nimmt die Datums-Pipe nur ein Argument an. Wie lautet die Syntax zum Aufrufen einer Pipe mit mehr Parametern aus dem HTML-Code der Komponente und direkt im Code?
javascript
angular
angular2-pipe
Eran Shabi
quelle
quelle
arg1
undarg2
wo beide optional sind und Sie nur weitergeben wolltenarg2
?undefined
als erstes Argument übergeben, erhält es seinen Standardwert.transform(value:any, arg1:any, arg2:any, arg3:any)
fühlt es sich besser an, dentransform(value:any, ...args:any[])
Ihnen fehlt die eigentliche Pfeife.
Mehrere Parameter können durch einen Doppelpunkt (:) getrennt werden.
Sie können auch Rohre wie folgt verketten:
quelle
Seit Beta.16 werden die Parameter nicht mehr als Array an die
transform()
Methode übergeben, sondern als einzelne Parameter:https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta16-2016-04-26
quelle
arg1
undarg2
wo beide optional sind und Sie nur weitergeben wolltenarg2
?arg1
? WieisFullDate
. Ich frage nur, weil jedes Beispiel dies verwendet.'arg1'
und'arg2'
sind nur String-Literale, die als zusätzliche Parameter an die Pipe übergeben werden. Sie können jeden Wert oder jede Referenz verwenden, die in diesem Bereich verfügbar ist (die aktuelle Komponenteninstanz)Ich verwende Pipes in Angular 2+, um Arrays von Objekten zu filtern. Im Folgenden werden mehrere Filterargumente verwendet, Sie können jedoch nur eines senden, wenn dies Ihren Anforderungen entspricht. Hier ist ein StackBlitz-Beispiel . Es findet die Schlüssel, nach denen Sie filtern möchten, und filtert dann nach dem von Ihnen angegebenen Wert. Es ist eigentlich ganz einfach. Wenn es kompliziert klingt, sehen Sie sich das StackBlitz-Beispiel an .
Hier ist die Pipe, die in einer * ngFor-Direktive aufgerufen wird.
Hier ist die Pfeife,
Und hier ist die Komponente, die das zu filternde Objekt enthält:
StackBlitz Beispiel
GitHub-Beispiel: Geben Sie hier eine Arbeitskopie dieses Beispiels ein
*Bitte beachten Sie dass Gunter in einer Antwort von Gunter angibt, dass Arrays nicht mehr als Filterschnittstellen verwendet werden, aber ich habe den von ihm bereitgestellten Link durchsucht und nichts gefunden, was zu dieser Behauptung spricht. Das bereitgestellte StackBlitz-Beispiel zeigt auch, dass dieser Code wie in Angular 6.1.9 vorgesehen funktioniert. Es wird in Angular 2+ funktionieren.
Viel Spaß beim Codieren :-)
quelle
Erweitert von: user3777549
Mehrwertfilter für einen Datensatz (nur Verweis auf Titelschlüssel)
HTML
filterMultiple
quelle