Удаление данных строк, выбранных из объекта?
Я не могу очистить данные от объекта, после того как я удалю их из сетки. вот: http://plnkr.co/edit/u1HmCwsEzVrgQJ2SLUgY?p=preview
Я использую это, чтобы удалить строки из сетки.
angular.forEach($scope.mysel, function(rowItem) {
$scope.myData.splice($scope.myData.indexOf(rowItem), 1);
});
2 ответа
Решение
Выпуск 1:
Вам нужно очистить оригинал $scope.mysel
массив вместо его удаления:
while ($scope.mysel.length > 0) {
$scope.mysel.pop();
}
Выпуск 2:
Пример кода изменился во время ответа, поэтому не уверен, что изначально была вторая проблема.
Для ясности, не изменяйте массив, который повторяется, пока итерация не завершится:
$scope.removeRow = function() {
angular.forEach($scope.mysel, function(rowItem) {
$scope.myData.splice($scope.myData.indexOf(rowItem), 1);
});
while ($scope.mysel.length > 0) {
$scope.mysel.pop();
}
};
Демонстрация: http://plnkr.co/edit/qEaoxL02uz5yqvw2sJ3E?p=preview
Похоже, что удаление ссылки удаляет связь между выбором сетки и mysel
ссылка. И вы создаете новый массив для него,
работает, когда ты так делаешь,
$scope.removeRow = function() {
angular.forEach($scope.mysel, function(rowItem) {
$scope.myData.splice($scope.myData.indexOf(rowItem),1);
while($scope.mysel.length > 0) {
$scope.mysel.pop();
}
});