即使范围数据发生变化,如何保留默认范围数据?

时间:2016-12-31 06:57:22

标签: angularjs

即使范围数据发生变化,也要保留默认的$ scope数据。

  $scope.data={"a":"hello world"};

    $scope.data.a="changed data";

现在变成了

$scope.data={"a":"changed data"};

我怎样才能获得旧的$ scope data.ie,我需要 -

$scope.data={"a":"hello world"};

2 个答案:

答案 0 :(得分:1)

不要直接将其分配给$scope.data,而是按照以下方式复制它:

$scope.data2= angular.copy($scope.data);

$scope.data2.a = "changed data";

angular.copy在此创建源对象的深层副本$scope.data

答案 1 :(得分:1)

您可以angular.copy尝试这种方式 你可以写重置功能。这样

  $scope.data={"a":"hello world"};
  var originalData = angular.copy($scope.data);

  $scope.data.a="changed data";

  $scope.reset = function() {
     angular.copy(originalData, $scope.data); 
  };