1
resposta

[Sugestão] Erro no Ngcontrol

Algo muito simples que demorei um tempinho para descobrir como eu teimo em usar o angular na versão mais atualizada, sempre tem um trecho ou outro que pode estar diferente da versão da aula. no disable-control.directive.ts deu um problema de Object is possibly 'null', eu corrigir apenas colocando uma ! antes do objeto [action]

import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';
import { NgControl } from '@angular/forms';

@Directive({
  selector: '[appDisableControl]',
})
export class DisableControlDirective implements OnChanges {
  @Input() appDisableControl: boolean = false;
  constructor(private ngControl: NgControl) {}

  ngOnChanges(changes: SimpleChanges): void {
    if (changes['appDisableControl']) {
      const action = this.appDisableControl ? 'disable' : 'enable';
      this.ngControl.control![action]();
    }
  }
}

Espero ter ajudado!

1 resposta

Olá Ismael, tudo bem?

Muito obrigada por compartilhar sua sugestão conosco.

Realmente é muito comum encontrarmos pequenas diferenças entre as versões do Angular, e isso pode gerar alguns problemas. Fico feliz que você tenha conseguido resolver o problema com a adição do "!" antes do objeto[action].

Isso indica que você tem certeza que o objeto não é nulo e evita o erro de compilação. É uma ótima dica para quem estiver enfrentando o mesmo problema.

Continue estudando e praticando!

Um abraço e bons estudos.