Просто добавьте index в качестве параметра.Ваша функция add
должна стать:
$scope.edit = function(index, name, age, weight) {
$scope.items[index] = {"name" : name, "params" : {"age" : age, "weight" : weight}};
}
И ваша кнопка должна вызвать эту функцию с параметром $index
, который будет получен из ng-repeat
:
<button class="btn btn-clear" type="button" ng-click="edit($index, name, age, weight)">
Update
</button>
Если вы хотите обновить только один из параметров, а не все сразу, я предлагаю изменить функцию редактирования на:
var x = $scope.items[index];
$scope.items[index] = {"name" : name || x.name, "params" : {"age" : age || x.params.age, "weight" : weight || x.params.weight}};
Он будет использовать параметры по умолчанию для ng-model
, которые пусты