在 Angular 2,使用表单生成器的模型驱动表单中,我有:
ngOnInit() {
this.user = this.fb.group({
id: ['', [Validators.required, Validators.minLength(2)]],
name: ['', [Validators.required, Validators.minLength(5)]]
});
this.user.get('id').valueChanges.subscribe(value => {
alert("Change detected);
});
}
在 HTML 中我有:
<input type="text" formControlName="id" >
但是发生的事情是,对于我在文本框中更改的每个字母,
alert("Change detected");
都会被解雇,而在制表后,我只需要致电alert("Change detected")
。我知道在 AngularJS 中可以通过使用 ng-model-options
来实现这一点,但是如何在 Angular 2 中实现同样的效果呢?
您可以绑定到 onblur 处理程序
<input type="text" formControlName="id" (blur)="onBlur()">
在课堂上
onBlur(){
alert("Change detected");
}