编辑时如何防止范围绑定?

时间:2014-11-03 12:27:17

标签: angularjs data-binding angularjs-scope

我将数据加载到表中并进行编辑和删除。我创建了sample plunker来解释我的主要问题。请注意,这不是我正在使用的真实应用程序代码。

我的编辑功能如下:

$scope.edit = function(user) {
    $scope.user = user;
};

$scope.user绑定到输入控件。

我的问题是当我从输入字段编辑时,我不想同时更改表数据。如何防止这种行为?

1 个答案:

答案 0 :(得分:3)

您可以使用angular.copy

  $scope.edit = function(user) {

    angular.copy(user, $scope.user);

  };

请参阅演示http://plnkr.co/edit/n4g5WKojIsOrtAcm3cgR?p=preview

angular.copy创建源的深层副本,在这种情况下,复制“user”,这样您就可以编辑完全不同的对象而不是用户数组中的对象