Pipes Angularสองประเภทที่แตกต่างกันมาก- PipesและRxJS - Pipes
เชิงมุมท่อ
ไปป์รับข้อมูลเป็นอินพุตและแปลงเป็นเอาต์พุตที่ต้องการ ในหน้านี้คุณจะใช้ไปป์เพื่อเปลี่ยนคุณสมบัติวันเกิดของส่วนประกอบให้เป็นวันที่ที่เป็นมิตรกับมนุษย์
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 - ท่อ
ตัวดำเนินการที่สังเกตได้ประกอบด้วยวิธีการท่อที่เรียกว่า Pipeable Operators นี่คือตัวอย่าง
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));
ผลลัพธ์สำหรับสิ่งนี้ในคอนโซลจะเป็นดังต่อไปนี้:
0
6
12
18
สำหรับตัวแปรใด ๆ ที่มีค่าที่สังเกตได้เราสามารถใช้เมธอด. pip () เพื่อส่งผ่านฟังก์ชันตัวดำเนินการหนึ่งหรือหลายตัวที่สามารถทำงานและแปลงแต่ละรายการในคอลเลกชันที่สังเกตได้
ตัวอย่างนี้จึงนำตัวเลขแต่ละตัวอยู่ในช่วง 0 ถึง 10 และคูณด้วย 2 จากนั้นฟังก์ชันตัวกรองเพื่อกรองผลลัพธ์ให้เหลือเฉพาะจำนวนคี่