250x250
반응형
- Today
- Total
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 비동기 병렬처리
- svgr
- react life sycle
- react
- resolved to branch.
- 리액트 알림
- 훈련소 후기
- 훈련소
- 오블완
- 자바스크립트
- server action
- 공익 훈련소
- 산업기능요원 훈련소
- no-use-before-define
- useformstatus
- react toast
- NextJS
- angular
- useRouter
- styled-component
- sessionStorage
- 오라클클라우드
- 리액트
- The above error occurred in the
- 리액트 라이프사이클
- 자바스크립트 순수함수
- next.js toast
- query param
- localStorage
- 사회복무요원 훈련소
Archives
아 그거 뭐였지
[Angular] ngFor, 반복적인 HTML (feat. 배열 데이터 출력) 본문
728x90
반응형
Q. 배열에 있는 데이터를 출력해주세요.
프로젝트를 진행하다 보면 반복적인 HTML을 출력하는 경우가 빈번하다. 상품 목록이라던지 글목록이라던지
리스트들을 출력할때 주로 사용된다.
아래와 같이 같은 html 규격을 담고 있는 div태그들이 반복적으로 나오는 것을 볼 수 있다.
<div>
<img src="img.svg">
<div>상품브랜드</div>
<div>상품이름</div>
<div>상품가격</div>
</div>
<div>
<img src="img.svg">
<div>상품브랜드</div>
<div>상품이름</div>
<div>상품가격</div>
</div>
<div>
<img src="img.svg">
<div>상품브랜드</div>
<div>상품이름</div>
<div>상품가격</div>
</div>
<div>
<img src="img.svg">
<div>상품브랜드</div>
<div>상품이름</div>
<div>상품가격</div>
</div>
상품 리스트같이 한 두 개가 아닌 데이터들을 다 저렇게 복사 붙여 넣기로 구현한다면 굉장히 비효율적이고 개발 시간도 오래 걸릴 것이다. 이런 반복적인 작업을 Angular에서는 ngFor 디렉티브를 사용해서 해결한다. 바로 사용법을 알아보자.
ngIf와 마찬가지로 *을 맨 앞에 붙이고 *ngFor로 사용한다.
// product.component.ts
export class ProductComponent implements OnInit{
constructor(){}
ngOnInit():void {}
// 해당 구조를 가진 json객체를 서버에서 받아왔다고 가정
productArr = [
{
brand: '이디야',
name: '이디야커피',
price: 1000
},
{
brand: '커피빈',
name: '커피빈커피',
price: 1400
},
{
brand: '스타벅스',
name: '스타벅스커피',
price: 1500
}];
}
productArr이라는 배열 객체를 가지고 html에 뿌려주는 예시이다.
문법은 *ngFor = "let 변수명 of 데이터를 뿌려줄 배열" 이렇게 사용하면 된다.
*ngFor에서는 배열이나 객체만 사용 가능하므로 기억해두자.
// product.component.html
<ng-container *ngFor="let item of productArr">
<div>
<img src="img.svg">
<div>{{item.brand}}</div>
<div>{{item.name}}</div>
<div>{{item.product}}</div>
</div>
</ng-container>
ng-container를 사용한 이유는 시각적으로 해당 부분을 스크립트적으로 처리했다.라는 것을 보여주기 위해서 사용해주었다. div태그에 사용하여도 문제는 없다.
ngFor를 사용하면 반복적인 HTML을 처리할 수 있다.
728x90
반응형
'Front-End' 카테고리의 다른 글
[React] Module not found: Error: Can't resolve .. In .. 오류 (TypeScript React,Next) (0) | 2022.06.25 |
---|---|
[Angular] Angular에서 soket.io 사용하기 (0) | 2022.05.18 |
[React] useEffect 항상, 한번만, 변경될때 사용법 (0) | 2022.04.08 |
[Angular] ngIf 조건에 따라 데이터 보여주기 (0) | 2022.03.31 |
[Angular] HTML 데이터 바인딩, 데이터 포맷 (0) | 2022.03.29 |
Comments