2
respostas

ERROR TypeError: Cannot read properties of undefined (reading 'get')

Bom dia, ao digitar nos campos aparece esse erro ERROR TypeError: Cannot read properties of undefined (reading 'get'), e ao clicar em cadastro esses outros: TypeError: Cannot read properties of undefined (reading '_syncPendingControls'), TypeError: Cannot read properties of undefined (reading 'valid'), TypeError: Cannot read properties of undefined (reading 'get').

Estou com os mesmos fontes que o professor, achei que tinha algo errado nos meus então baixei o zip da aula. Mesmos Erros.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá, André! Tudo bem?

Pelo que eu vi esse erro é nas linhas:

<app-mensagem
      *ngIf="
        novoUsuarioForm.get('email')?.errors?.required &&
        novoUsuarioForm.get('email')?.touched
      "
      mensagem="E-mail obrigatório"
>

Então o novoUsuarioForm está undefined. Olhando no componente, vemos que o novoUsuarioForm é declarado na classe, mas é apenas preenchido com os valores dos campos dentro do ngOnInit. Então, o que acontece é que o Template passa por essa linha antes do ngOnInit ter executado o formBuilder.

Isso causa algum problema no seu código, ou mesmo com os erros, o componente consegue se recuperar uma vez que passa pelo ngOnInit?

Talvez uma opção seja mover o uso do formBuilder para o constructor.

não rolou, quase todos os metodos do control estavam undefined, então removi as validaçoes dos campos username pra prosseguir no curso. Tentei mover o this.novoUsuarioForm para o constructor, tmbm não rolou. Precisei comentar e retornar false no metodo usuarioJaExiste, pois o control sempre vinha undefined tmbm e quebrava quando tentava fazer o pipe. Só assim meu form voltoua funcionar, lembrando, FONTES da aula, com nenhuma alteração "minha".

Insira aqui a descrição dessa imagem para ajudar na acessibilidade