如何替换弃用的uib-datepicker-popup?

时间:2016-03-29 13:03:31

标签: angularjs datepicker angular-bootstrap

由于我将项目更新为"angular-bootstrap": "~1.2.4",因此我在控制台中发出警告:

uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead

uib-datepicker-popup由日期格式或日期格式数组填充:

    在我的案例中
  • uib-datepicker-popup="dd-MMMM-yyyy"

所以在angular bootstrap documentation中,它仍然以deprecated方式显示处理此案例。

有谁知道如何迁移到新版本?

2 个答案:

答案 0 :(得分:5)

他们没有弃用“uib-datepicker-popup”属性,该警告与“{datepicker设置”部分datepicker docs中列出的所有属性相关。您必须通过属性“datepicker-options”提供这些值。 不知道为什么,但“弹出设置”部分中的那些没有抛出警告。

就我而言,我有

<强> JS

$scope.datepicker.format = 'shortDate';
$scope.datepicker.options = {
    formatYear: 'yy',
    startingDay: 1
};

<强> HTML

<input type="text" class="form-control" 
     ng-model="ngModel"
     uib-datepicker-popup="{{ datepicker.format }}"
     datepicker-options="datepicker.options"

     datepicker-append-to-body="true" 
     is-open="datepicker.opened"               
     show-button-bar="false"
     close-text="Close"

     min-date="minDate"
     max-date="maxDate"
     custom-class="getCustomClass"
     show-weeks="false"
     />

它变成了

<强> JS

$scope.datepicker.format = 'shortDate';
$scope.datepicker.options = {
    formatYear: 'yy',
    startingDay: 1,
    minDate: minDate,
    maxDate: maxDate,
    showWeeks: false,
    customClass: getCustomClass
};

<强> HTML

<input type="text" class="form-control" 
     ng-model="ngModel"
     uib-datepicker-popup="{{ datepicker.format }}"
     datepicker-options="datepicker.options"

     datepicker-append-to-body="true" 
     is-open="datepicker.opened"               
     show-button-bar="false"
     close-text="Close" 
     />

<小时/>

更新

plunker reproduction

答案 1 :(得分:1)