Spec-Zone.ru › Angular.js 1.4

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

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

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

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

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

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

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

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

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

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

  • как атрибут:
    <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.4.14/docs/api/ng/directive/ngModelOptions

Spec-Zone.ru

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