当把一个变量如日期显示在ng-model上时,有时需要对显示的内容进行格式化,但是ng-model上是不支持| filter这样的,因此需要单独写directive来实现。
<input type="text" ng-model="start_date" date-format disabled="disabled">
angular.module('dateRange',[]).directive('dateFormat', ['$filter',function($filter) {
var dateFilter = $filter('date');
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
function formatter(value) {
return dateFilter(value, 'yyyy-MM-dd'); //format
}
function parser() {
return ctrl.$modelValue;
}
ctrl.$formatters.push(formatter);
ctrl.$parsers.unshift(parser);
}
};
}]);
当把一个变量如日期显示在ng-model上时,有时需要对显示的内容进行格式化,但是ng-model上是不支持
| filter这样的,因此需要单独写directive来实现。