Dois tipos muito diferentes de Pipes Angulares - Pipes e RxJS - Pipes
Angular-Pipe
Um tubo recebe dados como entrada e os transforma em uma saída desejada. Nesta página, você usará tubos para transformar a propriedade de aniversário de um componente em uma data amigável.
import { Component } from '@angular/core';
@Component({
selector: 'app-hero-birthday',
template: `<p>The hero's birthday is {{ birthday | date }}</p>`
})
export class HeroBirthdayComponent {
birthday = new Date(1988, 3, 15); // April 15, 1988
}
RxJS - Pipe
Operadores observáveis são compostos usando um método de tubulação conhecido como Operadores Canalizáveis. Aqui está um exemplo.
import {Observable, range} from 'rxjs';
import {map, filter} from 'rxjs/operators';
const source$: Observable<number> = range(0, 10);
source$.pipe(
map(x => x * 2),
filter(x => x % 3 === 0)
).subscribe(x => console.log(x));
A saída para isso no console seria a seguinte:
0
6
12
18
Para qualquer variável que contenha um observável, podemos usar o método .pipe () para passar uma ou várias funções de operador que podem trabalhar e transformar cada item na coleção observável.
Portanto, este exemplo pega cada número no intervalo de 0 a 10 e multiplica por 2. Em seguida, a função de filtro para filtrar o resultado apenas para os números ímpares.