我正在使用angular-ui datepicker,并且一切实际上都正常工作,但datepicker的初始状态除外。当我选择一个日期时,它看起来很好。请看下图:angular-ui datepicker datepicker的初始状态未格式化为每个datepicker-popup
初始状态
在选择器
所以选择了日期后,显然我得到的的strigified版本在第一种情况下为日期对象,在选择日期后格式化。
标记
<input type="text" class="form-control"
id="birthday"
datepicker-options="datePickerOptions"
datepicker-popup="{{format}}"
data-ng-model="birthday"
data-is-open="opened"
data-ng-required="true"
data-close-text="Close"/>
<span class="input-group-btn">
<button type="button"
class="btn btn-default"
data-ng-click="open($event)">
<i class="fa fa-calendar"></i>
</button>
</span>
的控制器
var today = $scope.today = function today() {
$scope.birthday = $scope.client.birthday || new Date();
};
today();
$scope.clear = function clear() {
$scope.dt = null;
};
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.format = 'MMM d, yyyy';
$scope.datePickerOptions = {
'show-weeks': false
};
不是一个大问题,但将是非常好的,如果其需要的模型(为每对文档的日期对象)被格式化为每个$scope.format
开始,而不是一个严格的日期对象。此外,不知道它有什么不同,但这个日期选择器是在一个模式。谢谢你的帮助!
UPDATE
看起来像我不是唯一一个遇到此,并且它与使用角1.3。 https://github.com/angular-ui/bootstrap/issues/2659
这并努力解决显示问题,但它会将您的绑定模型var变成timestamp int而不是Date对象。如果在弹出窗口中点击日期不会再次将其重新转换为Date对象,这意味着使用它的代码首先需要执行麻烦的类型检查。 – Fasermaler 2015-03-02 12:56:31