Tôi muốn cập nhật một đối tượng trong một mảng đối tượng. Có khả năng nào khác hơn là lặp qua tất cả các mục và cập nhật một mục phù hợp không? Mã hiện tại trông giống như sau:Đối tượng cập nhật góc trong mảng
angular.module('app').controller('MyController', function($scope) {
$scope.object = {
name: 'test',
objects: [
{id: 1, name: 'test1'},
{id: 2, name: 'test2'}
]
};
$scope.update = function(id, data) {
var objects = $scope.object.objects;
for (var i = 0; i < objects.length; i++) {
if (objects[i].id === id) {
objects[i] = data;
break;
}
}
}
});
gì quan điểm như thế nào? Nếu bạn có một tham chiếu đến đối tượng mà bạn đang gọi 'update()', chuyển vào đối tượng thay vì id. –
thêm vào đề xuất của anthony .. 'ng-click =" cập nhật (obj, dữ liệu) "' thay vì 'ng-click =" cập nhật (obj.id, dữ liệu) "' –
Ngoài ra, bạn có muốn kiểm tra id trước đó không thêm? Tôi tin rằng, điều đó không cần thiết trong trường hợp của bạn? – Asik