创建一个可以访问
activeDate
属性,它将告诉您查看的是哪个月份。然后覆盖
isDisabled
功能,以便如果您在日视图中,并且月份不是活动月份,则禁用日期。
angular.module('app').config(function($provide) {
$provide.decorator('datepickerDirective', ['$delegate', function($delegate) {
var directive = $delegate[0];
var link = directive.link;
directive.compile = function() {
return function(scope, element, attrs, ctrls) {
link.apply(this, arguments);
ctrls[0].isDisabled = function(date) {
return (scope.datepickerMode === 'day'
&& (date.getMonth() !== ctrls[0].activeDate.getMonth()
|| date.getYear() !== ctrls[0].activeDate.getYear()));
};
}
};
return $delegate;
}]);
});
fiddle