似乎angular.copy()没有正确处理我正在使用它的其中一个项目。这是示例代码和后面的屏幕截图。
console.log("Copy");
$scope.traffic_data = traffic_data;
$scope.total_data = total_data;
console.log($scope.traffic_data);
console.log($scope.total_data);
console.log("Original");
$rootScope.original_traffic_data = angular.copy($scope.traffic_data);
$rootScope.original_total_data = angular.copy($scope.total_data);
console.log($rootScope.original_traffic_data);
console.log($rootScope.original_total_data);
console.log("Variable data");
console.log(total_data);
console.log("=============");
我面临的问题是
$rootscope.original_total_data
没有复制
的内容$scope.total_data
如截图所示。我已经突出显示了不同的控制台日志,以区分它们。
该行
console.log($rootScope.original_total_data);
显示没有内容,即使我在该变量上使用了angular.copy。 我在这里错过了什么?请帮忙。谢谢。 此外,$ rootScope已在控制器中声明,它正在为
工作$rootScope.original_traffic_data
那为什么不适合
$rootScope.original_total_data?
感谢。
答案 0 :(得分:2)
export PATH="/home/my_pc/anaconda3/bin:$PATH"
是一个数组,而total_data
是一个对象。
traffic_data
区分数组和对象。对于对象,它将复制所有键(属性)。对于数组,它只会复制数组元素,而不会复制附加到它的任何自定义属性 - see source code。
如果要在angular.copy()
上设置属性,则应将其设置为对象。它似乎没有任何索引值,所以这不应该是一个问题,它可能首先应该是一个对象。