Eu sei que posso chamar um pipe assim:
{{ myData | date:'fullDate' }}
Aqui, o canal de data leva apenas um argumento. Qual é a sintaxe para chamar um canal com mais parâmetros, do HTML do modelo do componente e diretamente no código?
javascript
angular
angular2-pipe
Eran Shabi
fonte
fonte
arg1
e se éarg2
opcional e você só queria passararg2
?undefined
como o primeiro argumento, ele obterá seu valor padrão.transform(value:any, arg1:any, arg2:any, arg3:any)
usar o operador de resto se sente melhor eu penso:transform(value:any, ...args:any[])
Você está perdendo o tubo real.
Vários parâmetros podem ser separados por dois pontos (:).
Além disso, você pode encadear tubos da seguinte maneira:
fonte
Desde beta.16, os parâmetros não são mais passados como matriz para o
transform()
método, mas como parâmetros individuais:https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta16-2016-04-26
fonte
arg1
e se éarg2
opcional e você só queria passararg2
?arg1
? LikeisFullDate
. Estou apenas perguntando porque cada exemplo usa isso.'arg1'
e'arg2'
são apenas literais de cadeia de caracteres passados como parâmetros adicionais para o canal. Você pode usar qualquer valor ou referência que esteja disponível nesse escopo (a instância atual do componente)Eu uso Pipes no Angular 2+ para filtrar matrizes de objetos. A seguir, são apresentados vários argumentos de filtro, mas você pode enviar apenas um, se for adequado às suas necessidades. Aqui está um exemplo do StackBlitz . Ele encontrará as chaves pelas quais você deseja filtrar e, em seguida, filtra pelo valor fornecido. Na verdade, é bastante simples; se parece complicado, não é, confira o Exemplo do StackBlitz .
Aqui está o Pipe sendo chamado em uma diretiva * ngFor,
Aqui está o Pipe,
E aqui está o componente que contém o objeto a ser filtrado,
Exemplo StackBlitz
Exemplo do GitHub: bifurque uma cópia de trabalho deste exemplo aqui
* Observe que, em uma resposta fornecida por Gunter, Gunter afirma que os arrays não são mais usados como interfaces de filtro, mas eu procurei no link que ele fornece e não encontrei nada relacionado a essa afirmação. Além disso, o exemplo StackBlitz fornecido mostra esse código funcionando como pretendido no Angular 6.1.9. Funcionará em Angular 2+.
Happy Coding :-)
fonte
Estendido de: user3777549
Filtro de valores múltiplos em um conjunto de dados (referência apenas à chave de título)
HTML
filterMultiple
fonte