Привет, я новичок в угловых и в моей проблеме, я могу удалить строку, когда флажок установлен, но я хочу, чтобы консоль удаленного значения

  var app = angular.module("appTable", []);
  app.controller("Allocation", function($scope) {

    $scope.dataList = [{
      name: 'lin',
      dept: 'b'
    }, {
      name: 'fie',
      dept: 'bbbb'
    }, {
      name: 'test',
      dept: 'aaa'
    }];
    $scope.add = function() {
      var data = {};
      data.name = '';
      data.dept = '';
      $scope.dataList.push(data);

    };
    $scope.remove = function() {
      var newDataList = [];
      angular.forEach($scope.dataList, function(v) {
        if (!v.isDelete) {
          newDataList.push(v);
        }
      });
      $scope.dataList = newDataList;
      console.log($scope.dataList)

    };
  });

У меня проблемы с утешением удаленного значения https://jsfiddle.net/7g9na001/

Любая помощь приветствуется. заранее спасибо

1
user5186342 14 Дек 2015 в 11:49

3 ответа

Лучший ответ

Вы можете просто зарегистрировать содержимое объекта внутри обработчика удаления следующим образом.

КОД JS:

  $scope.remove = function() {
    var newDataList = [];
    angular.forEach($scope.dataList, function(v) {
        if (!v.isDelete) {
           newDataList.push(v);
        } else {
           //Value deleted from list
           console.log("Value being removed :" + JSON.stringify(v));
        }
    });
    $scope.dataList = newDataList;
    console.log($scope.dataList);
  };

Живая Демо @ JSFiddle

1
dreamweiver 14 Дек 2015 в 09:01
$scope.remove = function() {
    var newDataList = [];
    angular.forEach($scope.dataList, function(v) {
      if (!v.isDelete) {
        newDataList.push(v);
      }else{
        console.log(v); //Here you can console the deleted values
      }
    });
    $scope.dataList = newDataList;
  };
0
Rajan Singh 14 Дек 2015 в 08:59

Используйте splice () , как показано ниже:

$scope.remove = function() {
    var deletedItems = [];
    for(var i=0; i<$scope.dataList.length; i++){
        if ($scope.dataList[i].isDelete) {
            deletedItems.push($scope.dataList.splice(i--, 1));
        }
    }
    console.log($scope.dataList, deletedItems);
};
0
Majid Yaghouti 14 Дек 2015 в 09:05