У меня есть массив элементов, который отображается в таблице с помощью ng-repeat. Когда вы нажимаете на элемент, этот элемент извлекается с сервера, и затем таблица должна обновляться обновленным элементом.
Функция для получения обновленного элемента при нажатии на элемент в таблице:
$scope.getUpdatedItem = function(item){
itemService.getItem(item).then(
function(updatedItem){
item = updatedItem;
},
function(error){
//Handle error
}
);
};
Я показываю элементы, используя:
<tr ng-repeat="item in myItems">
Проблема: элемент в таблице никогда не обновляется.
Какой лучший способ обновить элемент в ng-repeat? Могу ли я использовать "track by $index" в ng-repeat для этого? Или мне нужно перебирать myItems, чтобы найти элемент, который я хочу заменить?
Update:
Возможное решение вместо использования
item = updatedItem,
для использования:
var index = $scope.myItems.indexOf(item);
$scope.myItems[index] = updateItem;
Однако я чувствую, что должен быть "более чистый" способ сделать это.