[JS] Angular 2 funkcja używana wielokrotnie

Może zacznę od tego, że jestem “Januszem Angulara 2” piszę swoją pierwszą większą aplikację z wykorzystaniem tego frameworka. Mam taki powtarzający się fragment kodu który występuje w wielu komponentach służy on do generowania części adresu URL. 

(...).value.name.toLowerCase().replace(/[^a-z0-9]/gi, '').trim().replace(/[_\s]/g, '-')

Długość tego kodu może nie jest jakaś zatrważająca ale powtarza się na tyle często, że wypadało by go wydzielić do jakiegoś… właśnie czego factory, service, provider czy jeszcze czegoś innego? Jakiś design patern na tego typu przypadki?

 

Przede wszystkim, nie polecałbym zabawy w drugiego Angulara w czystym JS-ie wersji 5. Niby jest jakaś dokumentacja, ale pełna dziur, a community zapewnia nikłe wsparcie. Angular 2 jest stworzony pod TypeScripta (nadbudówkę na JS-a 6) i używanie go z innym językiem to masochizm.

 

Faktorki, serwisy i providery (te istnieją, ale w innej formie) to konstrukcje z poprzedniej wersji frameworka. Teraz wystarczy klasę adnotować jako @Injectable i już da się ją wstrzyknąć do dowolnego komponentu. Przeczytaj sekcję poświęconą serwisom TUTAJ albo, jeżeli upierasz się na czystego ES5, znajdziesz coś pod koniec TEGO wpisu.