Улучшить эту документацию Просмотреть исходный код ngModelOptions
- директива в модуле 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 | Параметры для применения к текущей модели. Допустимые ключи:
|
Следующий пример демонстрирует, как переопределить немедленные обновления. Изменения в полях ввода внутри формы будут обновлять модель только при потере фокуса (событие 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