服务器响应后更新绑定/如何有选择地更新绑定?
Update binding after server response / How do I selectively update bindings?
我试图阻止模型的值在表单中更新。
例如:
我有一个付款明细表格,其中列出了用户保存的信息(姓名、地址等)以及用于编辑相同信息的表格。
我一直在尝试使用 :: 绑定一次,因为我不希望在输入控件更改时更改显示的信息(但我显然希望模型更新值,以便我可以将它们发送到服务器进行处理)。
在服务器响应更改已保存、是否正常等后,如何更新显示的模型值?我似乎找不到更新一次性绑定的方法(因为我猜这完全是预期的功能)。
所以我想我的问题可以归结为:
如何有选择地更新某些控件上的绑定而不更新其他控件上的绑定?
其实你只是想显示不同的变量。
您应该尝试使用临时模型对象(即您的对象的副本,如 "editedObject"),当您验证时,您将更新原始对象。
看到它在这个 plunker
中工作
编辑 space :
<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;
});
}
我试图阻止模型的值在表单中更新。
例如:
我有一个付款明细表格,其中列出了用户保存的信息(姓名、地址等)以及用于编辑相同信息的表格。
我一直在尝试使用 :: 绑定一次,因为我不希望在输入控件更改时更改显示的信息(但我显然希望模型更新值,以便我可以将它们发送到服务器进行处理)。
在服务器响应更改已保存、是否正常等后,如何更新显示的模型值?我似乎找不到更新一次性绑定的方法(因为我猜这完全是预期的功能)。
所以我想我的问题可以归结为:
如何有选择地更新某些控件上的绑定而不更新其他控件上的绑定?
其实你只是想显示不同的变量。
您应该尝试使用临时模型对象(即您的对象的副本,如 "editedObject"),当您验证时,您将更新原始对象。
看到它在这个 plunker
中工作编辑 space :
<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;
});
}