双向数据绑定似乎导致对该字段的错误更新。单击该字段可以提高日期选择器,但如果您尝试通过直接键入日期来编辑该字段,则它不能正常工作。
以下是演示此问题的小提琴:http://jsfiddle.net/vSNJF/
<input type="text" ng-model="name" ui-date-format='m/d/yy' ui-date>
将Angular下的键盘编辑与此处的标准jquery UI日期选择器行为进行比较:http://jqueryui.com/datepicker/
如果在解除交互式日历之后,如何才能使ui-date延迟更新模型?
答案 0 :(得分:1)
你在那里有一个很大的指令,我不确定是否有人会通过整个代码来找出导致问题的原因。为了帮助我留下一个更简单的datepicker指令,其行为与Jquery UI完全相同,但没有您在其中实现的所有功能,也许如果从这一点开始并添加功能,则更容易调试问题。
指令是:
directive('datepicker', function() {
return {
restrict: 'A',
require : 'ngModel',
link : function (scope, element, attrs, ngModelCtrl) {
$(function(){
element.datepicker({
dateFormat:'dd/mm/yy',
onSelect:function (date) {
ngModelCtrl.$setViewValue(date);
scope.$apply();
}
});
});
}
}
});