A pipe-ok lehetővé teszik az adatok dinamikus és hatékony formázását.
Feliratkozás előtt, vagy után pipe-olunk?
Utána
Bemegy az adat és kijön valami más. És a feliratkozók azt a mást fogják majd megkapni.
Lehetővé teszi az adatok transzformálását és formázását az alkalmazásban, hozzájárulva a kényelmes és rugalmas adatmegjelenítéshez.
Async pipe
Megoldja a feliratkozást és leiratkozást is.
Az Angularban a “pipe” egy eszköz az adatok átalakítására a sablonban. A Pipe segítségével egyszerűen alakíthatunk át adatokat a nézetekben, anélkül, hogy megváltoztatnánk az eredeti adatokat vagy az alkalmazás logikáját. Az Angularban léteznek beépített pipe-ok, mint például a date és a uppercase, de saját pipe-okat is készíthetünk.
A pipe-okat két fő kategóriába sorolhatjuk: “pure” és “impure”.
- Pure Pipe:
- A pure pipe csak akkor hajtódik végre, ha az input értéke vagy az argumentumok változnak.
- Egy adott bemenettel és argumentummal mindig ugyanazt az eredményt adja vissza.
- Ezen tulajdonságai miatt hatékony, mert nem hajtódik végre minden egyes változásdetektáláskor, hanem csak akkor, ha a releváns adatok változnak.
- Az Angular alapértelmezésben minden új pipe-ot pure-ként kezel.
- Impure Pipe:
- Minden egyes változásdetektáláskor futtatva lesz, függetlenül attól, hogy a bemeneti adatok változtak-e vagy sem.
- Mivel gyakran futtatva van, kevésbé hatékony, mint a pure pipe-ok.
- Azokban az esetekben lehet hasznos, amikor a pipe kimenetét olyan változókon kívüli tényezők is befolyásolják, amelyek nem szerepelnek közvetlenül a bemeneti adatokban vagy az argumentumokban.
Példa:
Tegyük fel, hogy van egy pipe, ami az aktuális dátum és idő alapján ad vissza egy üzenetet. Mivel az aktuális idő folyamatosan változik, de nem szerepel közvetlenül a pipe bemeneti adatokban vagy argumentumaiban, egy ilyen pipe esetében érdemes impure pipe-ot használni.
Összefoglalva, míg a pure pipe-okat az adatok hatékony átalakítására használjuk, addig az impure pipe-okat azokban az esetekben alkalmazzuk, amikor a pipe kimenetét olyan külső tényezők is befolyásolják, amelyek nem részei a bemeneti adatoknak vagy argumentumoknak.