服务器响应后更新绑定/如何有选择地更新绑定?

时间:2015-07-24 14:26:59

标签: angularjs angular-digest

我试图阻止模型的价值在表单中更新。

例如:

我有一个付款明细表,其中列出了用户的已保存信息(姓名,地址等)以及用于编辑相同信息的表单。

我一直在尝试使用::一次性绑定,因为当输入控件改变时我不想改变显示的信息(但我显然希望模型更新值,以便我可以发送它们到服务器进行处理)。

在服务器响应保存更改后,如何更新显示的模型值等等?我似乎无法找到更新一次性绑定的方法(因为我猜这完全是预期的功能)。

所以我想我的问题归结为:

如何有选择地更新某些控件上的绑定而不是其他控件?

1 个答案:

答案 0 :(得分:1)

实际上你只想显示不同的变量。

您应该尝试使用临时模型对象(这是对象的副本,如" editedObject"),当您验证时,您将更新原始对象。

请参阅此plunker

编辑空间:

<input ng-model="editCopy.value"> <button ng-click="validateChange()">Change</button>

ng-repeat:

<td ng-repeat="item in items" ng-click="editItem(item)">
    <a href="">{{item.value}}</a>
</td>

功能:

$scope.editItem = function(item){
  $scope.editCopy = angular.copy(item);
  $scope.editingItem = item;
}
$scope.validateChange = function(){
  $http.get('index.html').success(function(){
    $scope.editingItem.value = $scope.editCopy.value;
  }); 
}