無效字段鑑於「有錯誤」類:如何顯示在角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