Pipe의 역할
Angular 파이프는 문자열을 입력으로 받아들여 읽기 쉬운 출력을 만들어 내는 기능 입니다. 즉, 입력 된 값에 대해 원하는 포맷으로 출력을 해주거나 필터 역할을 합니다. 파이프는 다음과 같은 형태로 정의 합니다.
{{ 값 | 파이프 }}
예를 들어, 파이프를 이용해 UTC 시간인 14608040465805를 읽기 쉬운 형태로 변환해 보겠습니다.
UTC 시간 정보는 날짜 파이프를 이용하면 읽기 쉬운 날짜 형태로 변환 할 수 있습니다. UTC 시간 정보에 date 파이프를 적용해보겠습니다.
{{ 14608040465805 | date }} => Jul 9, 2016
UTC 시간 정보에 date Pipe를 추가했을 뿐인데 가독성 좋은 날짜 정보가 만들어졌습니다.
Pipe의 장점
- 가독성 향상: 적절한 파이프 사용은 데이터를 읽기 쉽게 만들어 가독성을 향상시킵니다.
- 코드 생산성 증가: 데이터 형식을 결정하기 위해 컴포넌트 마다 로직을 추가하지 않아도 됩니다. (코드 경량화)
- 유지보수 용이: 파이프를 사용하면 데이터 출력에 일관성이 생기고 유지보수가 쉬워집니다.
AngularJS 필터와 Angular 파이프 비교
기능 요소 |
AngularJS 지원 여부 |
Angular 지원 여부 |
currency, date, uppercase, json, lowercase |
O |
O |
number, limitTo, filter, orderBy |
O |
X |
async, decimal, percent |
X |
O |
보시는 것처럼 약간의 차이가 있는데 Angular 에서는 number, limitTo, filter, orderBy 를 지원 하지 않습니다.
그러나 이름은 같지 않지만 동일한 기능의 대체 파이프를 제공합니다.
예를 들면 AngularJS의 number 필터를 Angular의 decimal파이프와 percent파이프로 세분화됐습니다.
없어진 필터 기능을 이용하려면 커스텀 파이프를 추가해서 대체 할 수도 있습니다.
Angular 내장 파이프
- 날짜 파이프
이름 |
숫자 표현 |
2자리 표현 |
연도 |
y(2016) |
yy(16) |
월 |
M(01) |
MM(01) |
일 |
d(31) |
dd(31) |
시간 |
j / h / H (13, 1PM, 13) |
jj / hh / HH(13, 01PM, 13) |
분 |
m(1) |
mm(01) |
초 |
s(1) |
ss(01) |
'Angular' 카테고리의 다른 글
Angular summary (0) | 2018.12.26 |
---|---|
Google Analytics in Angular 적용기 (1) | 2018.04.11 |
알아 두면 유용한 Angular CLI 1탄! (0) | 2017.12.11 |