【发布时间】:2015-12-31 05:55:06
【问题描述】:
在这里,我为日期选择器创建了一些示例,它工作正常,但我需要动态设置最小和最大日期。所以我传递了开始和结束日期 像这样的 HTML my-datepicker min="2013-07-23" max="2015-07-23" 在指令范围内我得到了值,我需要在控制器中设置这个值 $scope.datepickerOptions = { startDate :min, endDate:max} 类似这样的东西..
var app = angular.module('myapp', ['ng-bootstrap-datepicker'])
app.directive('myDatepicker', function() {
return {
restrict: 'E',
template: '<input type="text" ng-datepicker ng-options="datepickerOptions" ng-model="ngModel">',
scope: {
date: '=',
ngModel: '=',
min: '=',
max: '=',
},
controller: function($scope) {
$scope.datepickerOptions = {
format: 'yyyy-mm-dd',
autoclose: true,
weekStart: 0,
startDate :'2013-07-23',
endDate:'2015-07-23'
};
}
};
})
app.controller('AppCtrl', ['$scope', function ($scope) {
$scope.date = '2013-08-12'
}]);
var appboot = angular.bootstrap(document, ['myapp']);
<link href="https://rawgit.com/cletourneau/angular-bootstrap-datepicker/master/dist/angular-bootstrap-datepicker.css" rel="stylesheet"/>
<link href="http://netdna.bootstrapcdn.com/bootstrap/2.0.4/css/bootstrap.min.css" rel="stylesheet"/>
<script src="http://code.jquery.com/jquery-2.0.2.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/2.0.4/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
<script src="https://rawgithub.com/cletourneau/angular-bootstrap-datepicker/master/dist/angular-bootstrap-datepicker.js" charset="utf-8"></script>
<body>
<div>
<div ng-app="myapp" ng-controller="AppCtrl">
<my-datepicker ng-model ="date" min="2013-07-23" max="2015-07-23"></my-datepicker>
<input id="datepickerMirror" type="text" data-ng-model="date">
</div>
</div>
</body>
【问题讨论】:
-
$scope.min和$scope.max没用?? -
我不推荐
ng-bootstrap-datepicker。它使用引导 jQuery 插件,并且没有与ng-model控制器正确集成。请改用uib-bootstrap-datepicker。 angular-ui.github.io/bootstrap/#/datepicker 此外,它还实现了min-date和max-date的属性。 -
不,我需要使用 ng-bootstrap-datepicker
标签: javascript angularjs angularjs-directive angularjs-scope