Na seguinte questão: "Por padrão, um FormGroup não sabe como enviar e receber dados para um componente criado por nós. Para que ele saiba como interagir com o nosso componente, o componente precisa implementar a interface ControlValueAccessor. Inclusive a implementação desta interface nos permite utilizar a diretiva ngModel.
A respeito da interface ControlValueAccessor, quantos métodos esta interface nos obriga a implementar?"
A resposta esperada é "4 métodos 'Alternativa correta! Os métodos são writeValue, registerOnChange, registerOnTouched e setDisabledState.'"
Porém o correto são 3, porque setDisabledState é opcional. Segue código da interface ControlValueAccessor demonstrando:
export declare interface ControlValueAccessor {
writeValue(obj: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState?(isDisabled: boolean): void;
}
"?" torna o método setDisabledState opcional. Respondi "3 métodos" e acabei errando mesmo sendo a resposta correta.