디렉티브는 앵귤러 앱에 추가기능을 더해주는 기능을 합니다. 디렉티브는 크게 아래와 같이 나누어지는데요.
- 컴포넌트 (Components)
- 속성 (Attribute)
- 구조 (Structural)
속성 (Attribute) 디렉티브
스타일이나 기능추가 등에 사용되는 디렉티브입니다.
1. ngClass
앵귤러 템플릿 - class binding & ngClass
앵귤러 class 바인딩은 특정요소에 동적으로 클래스를 추가하거나 제거하는 기능입니다. 클래스를 사용하여 상태에 따라 스타일 변경할 때 유용한 기능입니다. 사용문법 사용문법은 아래와 같이
jin-co.tistory.com
요소에 클래스를 추가하거나 없애는 기능을 합니다.
<div [ngClass]="true ? 'class' : '' "></div>
2. ngStyle
앵귤러 템플릿 - style binding & ngStyle
앵귤러 style 바인딩은 특정 요소에 동적으로 스타일을 추가하거나 제거하는 기능입니다. style 바인딩과 ngStyle 디렉티브는 기능이 동일하고 사용법이 유사하기 때문에 같이 설명하도록 하겠습니
jin-co.tistory.com
요소에 스타일을 추가하거나 없애는 기능을 합니다.
<div [ngStyle]="{}"></div>
3. ngModel
앵귤러 directive - ngModel
ngModel은 앵귤러 디렉티브의 하나로 폼컨트롤을 생성하고 폼 안에 사용된 개개의 필드를 폼과 연결하는 역할을 합니다. 사용법 연결은 해당 필드에 name 속성을 추가하고 'ngModel' 디렉티브를 사용
jin-co.tistory.com
데이터 속성을 추가하거나 갱신하는 기능을 합니다. 'FormModule'에 속한 디렉티브로 사용을 위해서는 'FormModule'을 모듈에 추가해야 합니다.
// app.module.ts
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [
FormsModule
],
})
export class AppModule { }
<!-- example.component.html -->
<input [(ngModel)]="title">
<p> {{title}} </p>
// example.component.ts
title:string = ''
구조 (Structural) 디렉티브
앞에 *이 붙는 디렉티브로 템플릿의 구조를 변경하며, 요소당 하나의 구조 디렉티브만 사용가능합니다.
1. ngIf
앵귤러 directives - ngIf
jin-co.tistory.com
조건이 참일 때 요소를 표시합니다.
<div *ngIf="true"></div>
2. ngFor
앵귤러 directives - ngFor
jin-co.tistory.com
주어진 크기만큼 반복하여 요소를 생성합니다.
<div *ngFor="let i of items"></div>
아래와 같이 인덱스를 추가하는 것도 가능합니다.
<div *ngFor="let i of items; let idx = index"></div>
3. ngSwitch
입력된 값과 동일한 값을 가지는 요소를 표시합니다.
<div [ngSwitch]="case">
<div *ngSwitchCase="1"></div>
<div *ngSwitchCase="2"></div>
<div *ngSwitchCase="3"></div>
<div *ngSwitchDefault></div>
</div>
참고
Angular
angular.io
'프론트엔드 > 앵귤러' 카테고리의 다른 글
앵귤러 템플릿 - Pipes (0) | 2023.01.10 |
---|---|
앵귤러 템플릿 - Template Reference Variable (0) | 2023.01.10 |
앵귤러 directive - ngModel (0) | 2022.12.27 |
앵귤러 템플릿 - style binding & ngStyle (0) | 2022.12.27 |
앵귤러 템플릿 - class binding & ngClass (0) | 2022.12.27 |