1
<form>
      Low: <input type="number" name="lowRange" 
            ng-model="weight" ng-model-options = "{updateOn:'submit'}">
      <button type="submit">Assign</button>
      <button type="button" ng-click="resetValue()">Discard</button>
</form>
<p>$scope.weight: {{weight}}</p>

重量与 绑定ng-model。通过使用ng-model-options="{updateOn:'submit'}",该ng-model值仅在单击提交按钮后更新。
当用户修改输入中的值并单击丢弃时,我想将输入框中的值重置为当前的 ng-model 值。
我正在通过拥有一个ng-click="resetValue()"

$scope.resetValue = function(){
    $scope.weight = $scope.weight; //if +1 here will update ng-model
  }

但是当变量相同时,赋值不起作用。可能是因为它是通过引用分配的。
输入框中的值没有改变。有没有人知道如何强制ng-model输入框更新值?

这是一个演示:http ://plnkr.co/edit/NQTieUmdEbxZeBsjk8Jw?%2F=preview&p=preview

4

1 回答 1

2

您需要告诉输入字段重置。

<form name="myForm">
  Low: <input type="number" name="lowRange" ng-model="weight" ng-model-options = "{updateOn:'submit'}">
  <br>
  <button type="submit">Assign</button>
  <button type="button" ng-click="myForm.lowRange.$rollbackViewValue();">Discard</button>
</form>
于 2017-06-08T20:52:36.200 回答