我在AbstractControl(输入元素)中使用HostListener来尝试监听reset事件。但是,当我重置作为该输入元素的父级的表单时,HostListener不会触发。
您可以在以下代码中看到代码和错误:
http://plnkr.co/edit/BYX8RsqUgY4FHvjhyN1X?p=preview
提交此内容时,正确的结果是重置输入元素并清除成功类,但它不起作用。 ngModel中的@HostListener('reset')
没有被触发。
调试时,您可以看到浏览器将reset事件触发到input元素,但是angular / 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();
}
}