我目前使用AngularJS引导日期选择器(也称为UIB-日期选择器)。目前我正在试图设置UTC上偏移,这可以通过设置ngModelOptions同样可以做到:ng-model-options="{timezone: '+02:00'}"
工作正常。但是,如果我设置ngModelOptions以$范围变量,在时区变化将不会进行。因此,要明确,这个工程:
<input uib-datepicker-popup="{{picker.format}}"
ng-model="picker._value"
is-open="picker.opened"
datepicker-options="picker.options"
ng-model-options="{timezone: '+02:00'}"
close-text="{{'close' | translate}}"
clear-text="{{'clear' | translate}}"
current-text="{{'current' | translate}}"/>
但这并不:
<input uib-datepicker-popup="{{picker.format}}"
ng-model="picker._value"
is-open="picker.opened"
datepicker-options="picker.options"
ng-model-options="ngModelOptions"
close-text="{{'close' | translate}}"
clear-text="{{'clear' | translate}}"
current-text="{{'current' | translate}}"/>
尽管“$ scope.ngModelOptions”变量保存的值完全相同“{时区:‘+02:00’}”
我采用了棱角分明的UI自举2.5.6和1.6.9 angularjs
好吧,我很快找到了答案:ngModelOptions实际上有在日期选择器的“选项”对象设置,如下所示:
const datePickerOptions = {
opened: false,
format: 'shortDate',
options: {
startingDay: $moment().startOf('week').isoWeekday(),
minDate: null,
maxDate: null,
showWeeks: false,
ngModelOptions: {
timezone: '+02:00'
}
}
};
在引导文档(https://angular-ui.github.io/bootstrap),它说,NG-模式选项是UIB-日期选择器里面输入支持的角度选择,但不知何故,它不具有可变范围的工作,所以才将其设置在日期选择器选项。