Spec-Zone.ru › Angular.js 1.3

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

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

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

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

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

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

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

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

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

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

  • в качестве атрибута:
    <ANY
      ng-model-options="">
    ...
    </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', в противном случае используется часовой пояс браузера по умолчанию.

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

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

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

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

Spec-Zone.ru

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