當(dāng)我們使用ng-model 綁定日期格式的數(shù)據(jù)的時(shí)候淹禾,會(huì)出現(xiàn)
Error: error:datefmt
Model is not a date object
之類的錯(cuò)誤,這是因?yàn)樵?code>angular中故意將input type=date
類型的ng-model
限制為Date
類型
解決辦法有2個(gè):
1、將ng-model
的值轉(zhuǎn)換為Date
類型
$scope.date = new Date("2014-12-24");
2最爬、設(shè)置NgModelController
的 $formatters
自動(dòng)進(jìn)行轉(zhuǎn)換
angular.module('app')
.directive('formatDate', function(){
return {
require: 'ngModel',
link: function(scope, elem, attr, ngModelCtrl) {
ngModelCtrl.$formatters.push(function(modelValue){
if(modelValue) {
return new Date(modelValue);
}
});
ngModelCtrl.$parsers.push(function(value){
if(value) {
return $filter('date')(value, 'yyyy-MM-dd');
}
});
}
};
});