我在AbstractControl(输入元素(中使用HostListener来尝试侦听重置事件。但是,当我重置作为此输入元素的父元素的窗体时,HostListener 不会触发。
您可以在以下位置看到代码和错误:http://plnkr.co/edit/BYX8RsqUgY4FHvjhyN1X?p=preview
提交此文件时,正确的结果是重置输入元素并清除成功类,但它不起作用。ngModel 中的@HostListener('reset')
未被触发。
调试你可以看到重置事件是由浏览器触发到输入元素的,但角度/javascript 没有捕获。
回答 github.com:https://github.com/angular/angular/issues/16847
@HostListener('ngModelChange', ['$event']) onModelChange(value: any) {
if (!value) {
console.log("reset?")
// empty: probably reset, or just erased
this.handleClasses();
}
}