javascript强制更新输入框上的ng-model值

时间:2017-06-08 20:24:44

标签: javascript angularjs pass-by-reference ngmodel

<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值仅在单击提交按钮后更新。
当用户修改输入中的值,然后单击discard时,我想将输入框内的值重置为当前的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

1 个答案:

答案 0 :(得分: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>