2016-07-19 21 views
1

オブジェクト(アイテム)の値をコピーして別のオブジェクト(editedItem)にコピーし、元のオブジェクトが変更されていない状態でフォームに入れて変更したいと思います。バインドされていないオブジェクトの値をコピーする

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

このアプローチでは、2つのオブジェクトがバインドされ、editedItemが変更されたときにItemが変更されます。オブジェクトをバインドせずに値をコピーする方法はありますか?

+1

http://stackoverflow.com/questions/34201483/deep-clone-in-typescript-preserving-types –

+0

これはtypescriptですものよりもAngular2-構文 - シングでなければなりません。 – Seltsam

+1

いいえ、いけません。私は理由を見ないし、それはあまりにも複雑で誰もが違うものを求めている。 –

答えて

6

タイプを気にしない場合は、JSON.parse(JSON.stringify())を使用できます。ここで

は一例です。

HTML

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

TS

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

まあ、余計な機能なしでこれを行っていると言っていますが、これは動作しますでしょう。

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

    toEditItem(item) { 
     this.editItem= Object.create(item); 
    } 
関連する問題