我在基本的 Angular 指令中使用 Amsul 的Pickadate :
.directive('pickadate', [function() {
return {
restrict: 'A',
require: 'ngModel',
scope: {
options: '=pickadate'
},
link: function(scope, element, attrs, ngModel) {
// Extend the default options with passed ones
var options = angular.extend({
format: 'yyyy-mm-dd'
}, scope.options);
// Set the picker
element.pickadate(options);
// Set the value
scope.$parent.$watch(attrs.ngModel, function(value) {
if (!element.pickadate('picker')) return;
element.pickadate('picker').set('select', value, {format: options.format});
});
}
};
}])
在我的模板中,我有:
<input id="dob" type="text" name="dob" ng-model="data.client.dob" pickadate />
最后,我的控制器只是创建了一个空的客户端资源
$scope.data.client = new Client();
当页面加载时,我希望字段为空白,但是,如果我在指令中记录值,我会得到:
我几乎可以肯定这是一个挑剔的事情,但无法弄清楚为什么要设置今天的日期。奇怪的是,如果我添加required
到表单域,它不再设置今天的日期。