在第三方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(),不是吗?这样我就可以确定form是仍然是原始的还是已经脏了。但该方法从未执行过。
我假设这是因为第三方datepicker javascript改变了值,所以Angular没有检测到它。
如何解决这个问题?
发布于 2017-04-28 13:50:13
我已经设法做到了。由于我的目标是现代浏览器(!=下面的IE8 ),我只需要将输入类型更改为"date“
<input type="date" id="dateOfBirth" name="dateOfBirth" formControlName="dateOfBirth" value="{{selectedEmployee.dateOfBirth}}" (ngModelChange)="dateFieldChanged()">https://stackoverflow.com/questions/43672466
复制相似问题