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!