Другой вариант - сделать директиву
@Directive({
selector: '[enableControl]'
})
export class EnableControlDirective {
@Input() set enableControl(condition: boolean) {
if (this.ngControl) {
if (this.ngControl.control) {
if (condition)
this.ngControl.control.enable();
else
this.ngControl.control.disable();
}
}
}
constructor(private ngControl : NgControl ) {}
Таким образом, вы можете использовать директиву как
<input [enableControl]="condition">
//e.g.
<input [enableControl]="myForm.get('IDproof').value">
, и мы не беспокоимся об изменениях, отключаем переменные и т. Д.