디렉티브 할당값의 평가기준

lee jae hwan·2022년 10월 1일

앵귤러

목록 보기
78/83
<input type="text" id="name" formControlName="name">

HTML엘리먼트 속성에 값을 할당할때 값의 타입은 HTML속성일 경우 무조건 문자열타입이다.

문자열바인딩(text interpolation)은 값을 문자열로 형변환하므로 HTML속성에 사용하면 된다.

HTML엘리먼트에 디렉티브를 사용하고 값을 할당할때 사용하고자하는 디렉티브에따라 값의 타입을 맞추어야 한다.


주의사항

디렉티브에 값을 할당하는 것이 모두 입력프로퍼티로 사용되는것이 아니고 디렉티브의 속성에 값을 할당할 수 도 있다.

<div [formGroup]="form">

FormGroup디렉티브에 입력프로퍼티로 값이 전달되는 것이며 form은 클래스프로퍼티로 FormGroup타입이다.

<input type="text" id="name" formControlName="name">

formControlName="name"은 입력프로퍼티로 값이 전달되는 것이 아니고 formControlName의 name프로퍼티에 값을 할당하는 것이다.

name프로퍼티는 string|number타입을 요구하므로 바인딩할 필요없이 name문자열을 사용하면 된다.

<input type="text" id="name" formControlName="{{name}}">

만약 name이 FormControl객체라면 문자열바인딩으로 객체를 문자열로 변환하면 [Object object]가 되므로 제대로 작동하지 않는다.

0개의 댓글