angular-ui datepicker datepicker的初始状态未按datepicker-popup格式化

Gre*_*eg 18 datepicker angularjs angular-ui-bootstrap

我正在使用angular-ui datepicker,除了datepicker的初始状态之外,一切都工作正常.我选择约会后,看起来很好.见下文:

初始状态

在此输入图像描述

在选择器中选择日期后

在此输入图像描述

所以,显然我在第一种情况下获得了日期对象的严格版本,并在选择日期后进行了格式化.

标记

<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>
Run Code Online (Sandbox Code Playgroud)

控制器

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
};
Run Code Online (Sandbox Code Playgroud)

这不是一个大问题,但如果模型(需要是每个文档的日期对象)按照$scope.format开头的格式而不是格式化的日期对象,那将会非常好.此外,不确定它是否有所作为,但这个日期选择器在一个模态内.谢谢你的帮助!

UPDATE

看起来我不是唯一遇到这种情况的人,而且它与使用角度1.3有关. https://github.com/angular-ui/bootstrap/issues/2659

And*_*ren 0

除了 github 问题中描述的方法之外,另一种对我有用的方法是使用纪元时间(以毫秒为单位)而不是日期对象来初始化模型,例如:

$scope.dt = new Date().getTime();
Run Code Online (Sandbox Code Playgroud)