Usnadněte si transformaci dat v Angular aplikacích pomocí Angular potrubí.

Potrubí v Angular umožňuje uživatelům transformovat data před jejich zobrazením v pohledu. Trubky jsou podobné filtrům v jiných programovacích jazycích, ale jsou flexibilnější a lze je přizpůsobit konkrétním potřebám. Zde prozkoumáte, jak používat trubky ve vaší aplikaci Angular.

Co jsou trubky v Angular?

Angular pipes jsou datové transformátory, díky kterým je vaše aplikace dynamičtější. Berou hodnotu jako vstup a vracejí transformovanou hodnotu jako výstup. Transformace dat může být tak jednoduchá, jako je formátování data nebo měny, nebo tak složitá, jako je filtrování nebo řazení seznamu položek.

Můžete použít trubky ve vašich Angular součástech a vaše šablony. Trubky se snadno používají a můžete je zřetězit a vytvořit tak složitější transformace.

Angular poskytuje několik vestavěných trubek včetně DatePipe, UpperCasePipe, LowerCasePipe, CurrencyPipe, DecimalPipe, PercentPipe, JsonPipe, SlicePipe, a AsyncPipe. Poskytuje také funkce pro vytváření vlastních potrubí.

instagram viewer

Každé vestavěné Angular potrubí plní jedinečnou funkci a může vám pomoci transformovat data.

DatePipe

The DatePipe formáty a displeje vaše proměnné data a času ve specifikovaném formátu s ohledem na vaše národní prostředí. Na rozdíl od jiných rámců, které vyžadují JavaScript balíčky pro formátování data a času, Angular používá DatePipe. Použít DatePipe ve své aplikaci přidejte symbol svislé čáry (|) a za ním datum a případné další parametry.

Například:

<p>Today's date is {{ currentDate | date }}p>

V tomto příkladu předáte dnešní datum proměnná prostřednictvím DatePipe, který jej poté naformátuje podle výchozího formátu data. Vy definujete dnešní datum proměnná v souboru TypeScript vaší komponenty.

Zde je příklad:

import { Component } from'@angular/core';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
exportclass AppComponent {
currentDate: any = newDate();
}

Můžete také předat další parametry DatePipe pro přizpůsobení výstupu:

<p>Today's date is {{ currentDate | date:'shortDate' }}p>

Blok kódu výše prošel shortDate parametr k DatePipe. Toto říká DatePipe pro formátování data pomocí formátu krátkého data. Vedle shortDate parametr, můžete nakonfigurovat DatePipe pomocí různých parametrů, vč z, longDatea vlastní formáty data jako např dd/MM/RR.

UpperCasePipe a LowerCasePipe

The UpperCasePipe a LowerCasePipe transformovat své texty. Své texty převedete na velká písmena pomocí UpperCasePipe a malými písmeny pomocí LowerCasePipe.

Chcete-li použít UpperCasePipe a LowerCasePipe, přidejte symbol čáry (|) následovaný malá písmena používat LowerCasePipe nebo velká písmena používat UpperCasePipe.

Níže je uveden příklad, jak použít UpperCasePipe a LowerCasePipe:

<p>{{ message | uppercase}}p>
<p>{{ message | lowercase}}p>

CurrencyPipe

Za použití CurrencyPipe, můžete ve své aplikaci formátovat čísla na měnu. The CurrencyPipe formátuje čísla podle vašeho národního prostředí. Pro formátování čísel pomocí CurrencyPipe, použijte symbol potrubí následovaný měna.

Například:

<p>{{ number | currency }}p>

V tomto příkladu je CurrencyPipe převede číselnou proměnnou na měnu. Ve výchozím nastavení je CurrencyPipe převádí proměnné na dolary. Chcete-li to změnit, můžete nakonfigurovat CurrencyPipe převést na jiné měny předáním dalších parametrů.

Zde je příklad:

<p>{{ number | currency: 'GBP' }}p>

Zde projdete GBP parametr k CurrencyPipe. Tím je zajištěno, že číslo proměnná převádí na britskou libru.

DecimalPipe a PercentPipe

The DecimalPipe transformuje vaše čísla na desetinná místa, zatímco PercentPipe převede vaše čísla na procenta.

Chcete-li použít DecimalPipe, použijte symbol potrubí následovaný číslo a další parametry. Chcete-li použít PercentPipe, udělejte totéž, ale vyměňte číslo s procent bez dalších parametrů.

Například:

<p>{{ number | number: '1.2-3' }}p>
<p>{{ number | percent }}p>

Dodatečné parametry předané do DecimalPipe ovládat počet zobrazených celých a zlomkových číslic. The 1 parametr určuje, že by mělo existovat alespoň jedno celé číslo. Ve srovnání s 2.3 parametr určuje, že by měly být nejméně dvě a až tři desetinné číslice.

JsonPipe

The JsonPipe je vestavěný kanál, který převádí data do formátu řetězce JSON. Používá se hlavně pro účely ladění. Můžete použít JsonPipe na objektech i polích.

Syntaxe pro použití JsonPipe je následující:

{{ expression | json }}

Tady, výraz jsou data, která chcete převést do formátu JSON. Operátor potrubí (|) použije JsonPipe k výrazu.

Například definujte objekt a pole ve vaší komponentě:

import { Component } from"@angular/core";

@Component({
selector: "app-root",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.scss"],
})

exportclass AppComponent {
user: data = {
firstname: "John",
lastname: "Doe",
};

profiles: data[] = [
{
firstname: "John",
lastname: "Doe",
},
{
firstname: "Peter",
lastname: "Parker",
},
];
}

interface data {
firstname: string;
lastname: string;
}

Výše uvedený blok kódu definuje a uživatel objekt a a profily pole. Nyní můžete použít JsonPipe převést objekt a pole na JSON.

<p>{{ user | json}}p>
<p>{{ profiles | json}}p>

Tady, JsonPipe převede uživatel objekt a profily pole do řetězce JSON, který můžete rychle zkontrolovat ve svých šablonách během vývoje nebo ladění.

SlicePipe

The SlicePipe je velmi podobný JavaScriptu plátek() metoda. The SlicePipe formátuje pole nebo řetězce extrahováním jejich prvků za účelem vytvoření nových polí nebo řetězců.

Chcete-li použít SlicePipe, použijete symbol potrubí následovaný plátek a dva parametry, počáteční a koncový index. Počáteční index je pozice v poli nebo řetězci, kde potrubí začne extrahovat prvky, a koncový index je místo, kde potrubí přestane extrahovat prvky.

Zde je příklad, jak použít SlicePipe:

<p>{{ string | slice: 0:2}}p>
<p>{{ array | slice: 0:1}}p>

V tomto příkladu je SlicePipe extrahuje první dva prvky z tětiva proměnná, prvek na indexu 0 a prvek na indexu 1. Dále bude extrahovat první prvek z pole variabilní. The SlicePipe je užitečné, když chcete v šabloně zobrazit pouze část dat.

AsyncPipe

AsyncPipe je vestavěná úhlová trubka, která automaticky přihlásí a odhlásí odběr Observable nebo Promise. Vrací poslední hodnotu vydanou Observable nebo Promise.

Syntaxe pro použití AsyncPipe je následující:

{{ expression | async }}

Zde je výrazem Observable nebo Promise, k jehož odběru se chcete přihlásit.

Například:

let numbers = of(1, 2, 3, 4, 5);

Můžeš použít AsyncPipe pro přihlášení k odběru tohoto Observable a zobrazení nejnovější emitované hodnoty takto:

<p>{{ numbers | async }}p>

Tento blok kódu vypíše poslední číslo emitované pozorovatelem. AsyncPipe je velmi užitečné při zpracování asynchronních operací ve vašich šablonách. Automaticky se přihlásí k odběru Observable nebo Promise, když se komponenta inicializuje, a odhlásí se, když je zničena.

Řetězové trubky v úhlovém provedení

Můžete zřetězit roury dohromady a provést více transformací v jednom výrazu. Řetězení potrubí je stejně jednoduché jako použití mnoha operátorů potrubí (|) v jediném výrazu. Výstup každého potrubí se stává vstupem pro další.

Zde je základní syntaxe:

<p>{{ expression | pipe1 | pipe2 |... }}p>

Například můžete transformovat objekt data na řetězec pomocí DatePipe a poté převeďte tento řetězec na velká písmena pomocí UpperCasePipe.

<p>Today's date is {{ currentDate | date:'shortDate' | uppercase }}p>

Vytvářejte dynamické aplikace pomocí potrubí

Trubky jsou výkonnou funkcí v Angular, která vám umožňuje transformovat data předtím, než se zobrazí v pohledu. Zde jste se dozvěděli o různých vestavěných trubkách, které Angular nabízí, jako je DatePipe, CurrencyPipe, UpperCasePipe atd. Také jste se naučili, jak je používat ve své aplikaci k vytváření dynamičtějšího obsahu. Pomocí kanálů mohou vývojáři vytvářet flexibilnější a dynamičtější webové aplikace s menším množstvím kódu.