我在第三方datepicker库(jQuery等)的帮助下,在我的表单上实现了datepicker。当用户选择日期时,它可以工作,但Angular无法检测从datepicker发出的变化(例如,当我选择日期时)。
这是我的代码:
HTML
<input type="text" id="dateOfBirth" name="dateOfBirth" formControlName="dateOfBirth" value="{{selectedEmployee.dateOfBirth}}" (ngModelChange)="dateFieldChanged()" readonly>
TS
dateFieldChanged() {
console.log('date changed!');
}
它应该执行dateFieldChange(),不是吗?这样我就可以确定表格是原始的还是已经很脏了。但这种方法从未执行过
我认为这是因为第三方datepicker javascript更改了值,因此Angular无法检测到它。
如何解决这个问题?
答案 0 :(得分:0)
我设法做到了。由于我的目标是现代浏览器(下面是!= IE8),我只需要将输入类型更改为“date”
<input type="date" id="dateOfBirth" name="dateOfBirth" formControlName="dateOfBirth" value="{{selectedEmployee.dateOfBirth}}" (ngModelChange)="dateFieldChanged()">