ng-model-options игнорируется, если это переменная $ scope - PullRequest
0 голосов
/ 11 февраля 2019

В настоящее время я использую AngularJS Bootstrap Datepicker (также известный как uib-datepicker).В настоящее время я пытаюсь установить для него смещение UTC, что можно сделать, установив аналогично ngModelOptions: ng-model-options="{timezone: '+02:00'}", который работает нормально.Однако, если я установлю ngModelOptions с переменной $ scope, изменения в часовом поясе не будут сделаны.Итак, чтобы было понятно, это работает:

                    <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'} "

Я использую angular-ui-bootstrap 2.5.6 и angularjs 1.6.9

1 Ответ

0 голосов
/ 11 февраля 2019

Ну, я быстро нашел ответ: на самом деле ngModelOptions должен быть установлен в объекте "options" средства выбора даты, например:

  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-model-options - это поддерживаемые угловые параметры внутри ввода uib-datepicker, но почему-то он не работает с переменной области видимости, поэтому просто установите егов опции выбора даты.

...