2
respostas

Questão errada: A interface ControlValueAccessor

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.

2 respostas

Fala ai Jonas, tudo bem? Muito bom, obrigado pelo feedback, pode ser que nas atualizações do Angular o método passou a ser opcional e não mais obrigatório.

Vou passar para o pessoal dar uma olhada e atualizada no exercício.

Abraços e bons estudos.

Oi Matheus, tudo bem e com você? Utilizei versão equivalente, mas na verdade nunca foi obrigatória. Abraço!