我有多个使用 ng-repeat 的形式。
<div ng-repeat="individual in orderDetails track by $index">
<form ng-submit="saveDetails();">
<input ng-model="individual.order.statusText">
<button type="submit">Save changes</button>
</form>
</div>
下面是存储在我的对象中的内容的示例,适用于 OrderDetails(IE - 对象)中的每个个体。
orderDetails {
object{
foo {},
bar {},
order {}
},
object{
foo {},
bar {},
order {}
}
}
现在我在中继器中引用带有 individual 的数据,如何在回发到服务器时仅提交单个个人的订单,而不是整个 orderDetails 对象?
这是我的保存功能,用于表单提交按钮
$scope.saveDetails = function(data, status) {
ordersService.updateOrder($scope.orderDetails.individual.order)
// once submitted update the whole model on the page again
.success(function(data, status) {
$scope.orderDetails = data;
})
}
这是我的服务:
getData.updateOrder = function(data){
var url = '/service/rest/orders';
return $http.post(url, data)
.error(function (data, status, headers, config) {
console.error('Error fetching feed:', status, headers, config);
});
};
return getData;
再次感谢您的任何帮助。
很简单,将individual
对象传递到提交处理程序中,例如
$scope.saveDetails = function(individual) {
ordersService.updateOrder(individual.order).success(function(data) {
$scope.orderDetails = data;
});
};
并在您的 HTML 中
<form ng-submit="saveDetails(individual)">
要用新数据覆盖individual
顺序,您可以将其写回individual
,例如
.success(function(data) {
angular.extend(individual, data); // or angular.merge for deep extending
});