Как заменить устаревшее uib-datepicker-popup?
Так как я обновил свой проект до "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"
в моем случае
Таким образом, в угловой документации начальной загрузки все еще показано deprecated
способ справиться с этим делом.
Кто-нибудь знает, как перейти на новую версию?
2 ответа
Они не устарели как атрибут "uib-datepicker-popup", предупреждение относится ко всем атрибутам, перечисленным в документах datepicker в разделе "Настройки Datepicker". Вы должны предоставить эти значения атрибутом "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"
/>
Обновить
Вот руководство по обновлению. Это хорошо работает для меня. https://github.com/angular-ui/bootstrap/wiki/Migration-guide-for-prefixes