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