Spec-Zone.ru › Angular.js 1.5

Улучшить эту документацию Просмотреть исходный код ngModelOptions

  1. директива в модуле ng

Позволяет настроить, как выполняются обновления модели. Используя ngModelOptions, вы можете указать пользовательский список событий, которые будут вызывать обновление модели и/или задержку обработки, чтобы фактическое обновление происходило только при истечении таймера; этот таймер будет сброшен после следующего изменения.

Учитывая природу ngModelOptions, значение, отображаемое внутри полей ввода в представлении, может отличаться от значения в фактической модели. Это означает, что если вы обновляете модель, вам также следует вызвать $rollbackViewValue в соответствующем поле ввода, чтобы убедиться, что оно синхронизировано с моделью и что любая отложенная операция отменена.

Самый простой способ обратиться к методу $rollbackViewValue контроллера — убедиться, что поле ввода находится внутри формы с атрибутом name. Это важно, потому что контроллеры form публикуются в связанном области видимости под именем в атрибуте name.

Любые ожидающие изменения будут происходить немедленно при отправке содержащей формы через событие submit. Обратите внимание, что события ngClick произойдут до обновления модели. Используйте ngSubmit для доступа к обновленной модели.

ngModelOptions влияет на элемент, на котором она объявлена, и на его потомков.

Информация о директиве

  • Эта директива выполняется на уровне приоритета 0.

Использование

  • как элемент: (Эта директива может использоваться как пользовательский элемент, но будьте осторожны с ограничениями в IE).
    <ng-model-options
      ng-model-options="Object">
    ...
    </ng-model-options>
  • как атрибут:
    <ANY
      ng-model-options="Object">
    ...
    </ANY>

Аргументы

Параметр Тип Подробности
ngModelOptions Object

Параметры для применения к текущей модели. Допустимые ключи:

  • updateOn: строка, определяющая, к какому событию должно быть привязано поле ввода. Вы можете указать несколько событий, используя список, разделенный пробелами. Существует специальное событие default, которое соответствует стандартным событиям, принадлежащим контроллеру.
  • debounce: целое значение, содержащее значение задержки обновления модели в миллисекундах. Значение 0 вызывает немедленное обновление. Если вместо этого указан объект, вы можете указать пользовательское значение для каждого события. Например: ng-model-options="{ updateOn: 'default blur', debounce: { 'default': 500, 'blur': 0 } }"
  • allowInvalid: логическое значение, указывающее, что модель может быть установлена значениями, которые не прошли проверку, вместо стандартного поведения установки модели в undefined.
  • getterSetter: логическое значение, определяющее, следует ли рассматривать функции, привязанные к ngModel, как геттеры/сеттеры.
  • timezone: Определяет часовой пояс, который необходимо использовать для чтения/записи экземпляра Date в модели для <input type="date">, <input type="time">, ... . Он поддерживает UTC/GMT и сокращения часовых поясов США, но для общего использования используйте смещение часового пояса, например, '+0430' (4 часа, 30 минут к востоку от Гринвичского меридиана). Если не указано, используется часовой пояс браузера.

Следующий пример демонстрирует, как переопределить немедленные обновления. Изменения в полях ввода внутри формы будут обновлять модель только при потере фокуса (событие blur). Если нажата клавиша escape, в то время как поле ввода имеет фокус, значение сбрасывается до значения в текущей модели.

Этот пример демонстрирует, как отложить изменения модели. Модель будет обновлена только через 1 секунду после последнего изменения. Если нажата кнопка Clear, любая отложенная операция будет отменена, и значение станет пустым.

Этот пример демонстрирует, как привязаться к геттерам/сеттерам:

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ng/directive/ngModelOptions

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API