Улучшить эту документацию Просмотреть исходный код ngModelOptions
- Директива в модуле ng
Позволяет настроить процесс обновления модели. Используя ngModelOptions, вы можете указать настраиваемый список событий, которые будут вызывать обновление модели и/или задержку отложенного выполнения, чтобы фактическое обновление происходило только после истечения таймера; этот таймер будет сброшен после следующего изменения.
Учитывая природу ngModelOptions, значение, отображаемое внутри полей ввода на представлении, может отличаться от значения в фактической модели. Это означает, что если вы обновляете модель, вам также следует вызвать $rollbackViewValue для соответствующего поля ввода, чтобы убедиться в синхронизации с моделью и отмене любых отложенных действий.
Самый простой способ обратиться к методу $rollbackViewValue контроллера — разместить поле ввода внутри формы с атрибутом name. Это важно, потому что контроллеры form публикуются в связанном контексте под именем, указанным в атрибуте name.
Любые ожидающие изменения будут выполнены немедленно при отправке содержащей формы с помощью события submit. Обратите внимание, что события ngClick будут происходить до обновления модели. Используйте ngSubmit для доступа к обновлённой модели.
ngModelOptions действует на элемент, на котором она объявлена, и его потомки.
Информация о директиве
- Эта директива выполняется на уровне приоритета 0.
Использование
- в качестве атрибута:
<ANY ng-model-options=""> ... </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.3.20/docs/api/ng/directive/ngModelOptions