Dua jenis Pipes Angular - Pipes dan RxJS - Pipes yang sangat berbeda
Pipa Sudut
Sebuah pipa menerima data sebagai masukan dan mengubahnya menjadi keluaran yang diinginkan. Di halaman ini, Anda akan menggunakan pipa untuk mengubah properti tanggal lahir komponen menjadi tanggal yang ramah-manusia.
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 - Pipa
Operator yang dapat diamati disusun menggunakan metode pipa yang dikenal sebagai Operator Pipa. Berikut ini contohnya.
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));
Output untuk ini di konsol adalah sebagai berikut:
0
6
12
18
Untuk variabel apa pun yang memiliki observable, kita dapat menggunakan metode .pipe () untuk meneruskan satu atau beberapa fungsi operator yang dapat bekerja dan mengubah setiap item dalam koleksi yang dapat diamati.
Jadi contoh ini mengambil setiap angka dalam rentang 0 sampai 10, dan mengalikannya dengan 2. Kemudian, filter berfungsi untuk memfilter hasil menjadi hanya angka ganjil.