复制对象的值而不绑定它们

时间:2016-07-19 11:42:48

标签: angular

我想将对象(item)的值复制到另一个(editedItem)以将其放入表单并修改它,同时原始对象仍然显示不变。

<a (click)="editedItem=item">Edit</a>

使用此方法绑定两个对象,修改editedItem时Item更改。有没有办法只复制值而不绑定对象?

2 个答案:

答案 0 :(得分:6)

如果您不关心类型,可以使用JSON.parse(JSON.stringify())。

以下是一个例子:

HTML

<a (click)="copy()">Edit</a>

TS

copy() {
   this.editedItem = JSON.parse(JSON.stringify(this.item))
}

答案 1 :(得分:0)

嗯,我希望在没有额外功能的情况下完成这项工作,但这样做有效。

  <a (click)="toEditItem(item)">Edit</a>

  toEditItem(item) {
      this.editItem= Object.create(item);
  }