Angular ngModelOptions - привязывать значение к модели только при нажатии кнопки

У меня есть поле ввода, которое привязано к объекту модели, которое я не хочу связывать, пока пользователь не нажмет кнопку. я прошел сквозь ng-model-option а также updateOn, но, кажется, они срабатывают только на событиях из коробки JS, как blur а также focus,

<input ng-model="modelobject" ng-model-options="{updateOn: confirmButtonClick}">

<button id="confirmButton" role="confirm" ng-click="confirmButtonClick == true" class="confirm-btn">Confirm</button>

Как я могу связать значение с моделью только после нажатия кнопки или пользовательской функции? Должен ли я написать собственную директиву?

1 ответ

Решение

Вы можете решить свою проблему, обернув свои поля внутри формы, а затем обновив ng-model на submit в форме как ng-model-options="{updateOn: 'submit'}",

HTML

<form name="myForm">
  <input ng-model="modelobject" ng-model-options="{updateOn: 'submit'}">
  <button id="confirmButton" role="confirm" class="confirm-btn">
    Confirm
  </button>
</form>

Рабочий планкр

Другие вопросы по тегам