无效字段鉴于“有错误”类:如何显示在角2
<div class="form-group" [fieldValidity]="email">
<label for="email" class="sr-only">Email</label>
<input [(ngModel)]="model.email" ngControl="email" required>
</div>
而且我自定义[fieldValidity]指令:
import { Directive, ElementRef, Input } from 'angular2/core';
import {NgControlName} from 'angular2/common';
@Directive({
selector: '[fieldValidity]'
})
export class FieldValidityDirective {
private el: HTMLElement;
@Input('fieldValidity') field: NgControlName;
constructor(el: ElementRef) {
this.el = el.nativeElement;
}
private _onValidityChange(value: string) {
//TODO test field.valid || field.pristine
if (?) {
this.el.classList.remove('has-error');
} else {
this.el.classList.add('has-error');
}
}
}
我怎样才能订阅field.valid & &字段.pristine值显示错误? (我下面“TODO”标记吧)
已经实施了ngDoCheck解决方案!如果有人对ngDoCheck()被调用的方式感到困惑。 Angular使用背景魔法自动调用ngDoCheck,当指令的输入发生改变时。所以只要你使用@input注释你应该没问题。 – Baconbeastnz