2016-07-19 4 views
1

객체 (항목)의 값을 다른 객체 (항목)로 복사하여 원래의 객체가 변경되지 않은 상태로 양식에 넣고 수정하고 싶습니다.바인딩하지 않고 객체 값 복사

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

이 방법을 사용하면 두 객체가 바인딩되고 editedItem이 수정 될 때 Item이 변경됩니다. 개체를 바인딩하지 않고 값을 복사하는 방법이 있습니까?

+1

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

+0

이것은 타이프 것보다 ​​더 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); 
    }