<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
答案 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>