Angular ngModelOptions - 仅在单击按钮时将值绑定到模型

Angular ngModelOptions - bind value to model only when button is clicked

我有一个绑定到模型对象的输入字段,在用户单击按钮之前我不想绑定它。我经历了 ng-model-optionupdateOn,但似乎它们仅在开箱即用的 JS 事件(如 blurfocus 上触发。

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

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

如何让值仅在单击按钮或自定义函数时绑定到模型?我需要编写自定义指令吗?

您可以通过将字段包装在表单中然后在 submit 上更新 ng-model 来解决您的问题,例如 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>

Working Plunkr