Два дуже різні типи труб кутові - Труби та RxJS - Труби
Кутово-трубний
Труба приймає дані як вхідні та перетворює їх на потрібний вихід. На цій сторінці ви використовуєте труби, щоб перетворити властивість дня народження компонента в зручну для людини дату.
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 - труба
Оператори, що спостерігаються, складаються за допомогою методу труби, відомого як "Трубопровідні оператори". Ось приклад.
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
Для будь-якої змінної, що містить спостережуване, ми можемо використовувати метод .pipe () для передачі однієї або декількох операторських функцій, які можуть працювати над та перетворювати кожен елемент у колекції, що спостерігається.
Тож цей приклад бере кожне число в діапазоні від 0 до 10 і помножує його на 2. Потім функція фільтра відфільтрує результат до лише непарних чисел.