我正在使用 Angular 5 并试图在 Angular Material Form 字段上监听类更改mat-form-field
。具体来说,我想知道 AM 的逻辑何时将ng-pristine
、ng-dirty
、ng-untouched
、ng-touched
和添加ng-invalid
到。mat-focused
mat-form-field
我尝试了各种使用@ViewChild
,@HostListener
并且@HostBinding
在 StackOverflow 上找到的方法。以下是mat-form-field
with的示例#firstNameRegister
:
@ViewChild('firstNameRegister') firstNameRegister: ElementRef;
ngDoCheck() {
if(this.firstNameRegister.nativeElement.classList.contains('ng-dirty'))
{
console.log('Is Dirty');
}
}
无论采用哪种方法,我都会遇到的问题#firstNameRegister
是以某种方式被视为undefined
因此.nativeElement
呼叫失败。Angular Material 的组件是否有一些特定的东西会阻止它们被观察到类更改?
谢谢!