更改前存储绑定的对象

时间:2014-01-31 03:13:15

标签: javascript angularjs object data-binding

我有一个包含组信息的对象:

selectedGroup:  { 
      name: Test Group,
      id: 10,
      description: a group,
      owner: 88,
      ownerIsUser: False
 }

我有一个绑定到selectedGroups.name属性的文本框。我需要在更改发生之前将该名称存储在它自己的变量中。

我有一个AJAX库,允许我更新名称和描述等组信息,但它需要旧名称来标识要更新的组。我试过了:

var oldName = selectedGroup.name

但这不起作用,因为一旦我开始输入oldName就会更新。

1 个答案:

答案 0 :(得分:1)

您可以创建watch

$scope.$watch('selectedGroup.name', function(newVal, oldVal) {
   // save/copy oldVal somewhere 
});

PD:要深度复制对象,您可以使用angular.copy()