ng-csv不会导出新的更新数据

时间:2014-10-09 17:04:51

标签: angularjs

我正在使用ng-csv导出一些json数据。问题是当我在该对象内部进行任何更改(而不是分配一个完整的新对象)并尝试再次导出时,它会导出具有相同旧数据的csv文件而不进行任何更改。这是我在plunker HERE

中的代码
$scope.getArray = [{a: 1, b:2}, {a:3, b:4}];

$scope.update = function(){
    $scope.getArray[0].a = 100;
    console.log($scope.getArray);
}

1 个答案:

答案 0 :(得分:2)

ng-csv提供的引用对象发生更改时,ng-csv=指令当前被编码为创建csv“字符串”。为了让库意识到它需要重新执行csv结构,您需要更改对新对象的引用。最直接的方法是对数组进行深度复制,如下所示:

$scope.getArray = [{a: 1, b:2}, {a:3, b:4}];

$scope.update = function(){
  var updated = angular.copy($scope.getArray);
  updated[0].a = 100;
  $scope.getArray = updated;
  console.log($scope.getArray);
}