Je sais que je peux appeler un tuyau comme ça:
{{ myData | date:'fullDate' }}
Ici, le canal de date ne prend qu'un seul argument. Quelle est la syntaxe pour appeler un canal avec plus de paramètres, à partir du modèle HTML du composant et directement dans le code?
javascript
angular
angular2-pipe
Eran Shabi
la source
la source
arg1
etarg2
où les deux facultatifs et vous vouliez seulement passerarg2
?undefined
comme premier argument, il obtiendra sa valeur par défaut.transform(value:any, arg1:any, arg2:any, arg3:any)
utiliser l'opérateur de repos se sent mieux je pense:transform(value:any, ...args:any[])
Vous manquez le vrai tuyau.
Plusieurs paramètres peuvent être séparés par deux points (:).
Vous pouvez également chaîner des tuyaux, comme ceci:
la source
Depuis la version beta.16, les paramètres ne sont plus transmis en tant que tableau à la
transform()
méthode mais plutôt en tant que paramètres individuels:https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta16-2016-04-26
la source
arg1
etarg2
où les deux facultatifs et vous vouliez seulement passerarg2
?arg1
? CommeisFullDate
. Je demande juste parce que chaque exemple utilise cela.'arg1'
et ne'arg2'
sont que des littéraux de chaîne passés en tant que paramètres supplémentaires au tuyau. Vous pouvez utiliser n'importe quelle valeur ou référence disponible dans cette étendue (l'instance de composant actuelle)J'utilise Pipes dans Angular 2+ pour filtrer les tableaux d'objets. Ce qui suit prend plusieurs arguments de filtre, mais vous pouvez n'en envoyer qu'un si cela convient à vos besoins. Voici un exemple StackBlitz . Il trouvera les clés que vous souhaitez filtrer, puis les filtres selon la valeur que vous fournissez. C'est en fait assez simple, si cela semble compliqué, ce n'est pas le cas, consultez l' exemple StackBlitz .
Voici le tuyau appelé dans une directive * ngFor,
Voici le Pipe,
Et voici le composant contenant l'objet à filtrer,
Exemple StackBlitz
Exemple GitHub: créez une copie de travail de cet exemple ici
*Notez s'il vous plaît que dans une réponse fournie par Gunter, Gunter déclare que les tableaux ne sont plus utilisés comme interfaces de filtrage, mais j'ai recherché le lien qu'il fournit et je n'ai rien trouvé qui réponde à cette affirmation. De plus, l'exemple StackBlitz fourni montre que ce code fonctionne comme prévu dans Angular 6.1.9. Cela fonctionnera dans Angular 2+.
Codage heureux :-)
la source
Étendu depuis: user3777549
Filtre à valeurs multiples sur un ensemble de données (référence à la clé de titre uniquement)
HTML
filterMultiple
la source