angular formControl CVA API

agnusdei·2023년 12월 13일

업로드중..

Angular의 ControlValueAccessor (CVA)는 Angular Forms API와 사용자 지정 form 컨트롤 간의 인터페이스입니다. 이 인터페이스를 구현함으로써 사용자 지정 컴포넌트가 Angular Forms API와 상호 작용할 수 있습니다.

ControlValueAccessor는 4가지 메서드로 구성되어 있습니다:

  1. writeValue(obj: any): 이 메서드는 뷰에 새로운 값을 쓰는 데 사용됩니다. Angular Form API가 값을 업데이트할 때 이 메서드를 호출합니다.

  2. registerOnChange(fn: any): 이 메서드는 Angular Forms API가 새로운 값이 어떻게 전달되는지 알려주는 역할을 합니다. 이 함수는 Angular Forms API가 제공하며, 컴포넌트에서 값이 변경될 때마다 호출됩니다.

  3. registerOnTouched(fn: any): 이 메서드는 사용자가 컴포넌트를 '터치'했음을 Angular Forms API에 알리는 역할을 합니다.

  4. setDisabledState(isDisabled: boolean): 이 메서드는 컴포넌트가 활성 상태인지 아닌지를 Angular Forms API에 알려주는 역할을 합니다.

따라서 registerOnChangeregisterOnTouched를 구현하지 않을 경우, Angular Forms API는 컴포넌트에서 값이 변경되었는지, 또는 컴포넌트가 '터치'되었는지 알 수 없습니다. 이로 인해 값이 전달되지 않는 문제가 발생하는 것입니다. 이 두 메서드를 적절히 구현함으로써 Angular Forms API는 컴포넌트의 상태 변화를 정확히 파악할 수 있게 됩니다.

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글