Angular-2:将一个对象复制到另一个对象

Angular-2:将一个对象复制到另一个对象,angular,Angular,我想将我的类对象复制到临时对象 类属性: export class PageModel { AppID: any = null; ParentID: any = null; Type: any = null; Order: any = null; IsEnabled: boolean = false; View: any = null; Toolbars: any = null; Attachments: any =

我想将我的类对象复制到临时对象

类属性:

export class PageModel {       
    AppID: any = null;
    ParentID: any = null;
    Type: any = null;
    Order: any = null;
    IsEnabled: boolean = false;
    View: any = null;
    Toolbars: any = null;
    Attachments: any = null;
} 
我的初始对象:

pageModel : PageModel =new PageModel();
pageModel.Type='New';
pageModel.Order=1;
现在我想将这个更新的对象分配给任何临时对象,这个临时对象将被分配为表单中的一个模型,所以只有在保存按钮点击时,我才想更新我的主对象

我只是需要帮助,如何将主对象复制到临时对象

tempObject = Object.assign({}, tempObject, pageModel);

这将创建一个新对象,将tempObject的所有属性分配给它,然后将pageModel的所有属性分配给它

亚历山大的答案非常适合这个问题。但在某些情况下,它不能像以前那样正常工作

{a:0,b:c:0}

所以你可以使用,它也适用于深度克隆

tempObject = JSON.parse(JSON.stringify(pageModel));
请参见下面的示例:

let obj1 = { a: 0 , b: { c: 0}};
  let obj2 = Object.assign({}, obj1);
  console.log(JSON.stringify(obj2)); // { a: 0, b: { c: 0}}

  obj1.a = 1;
  console.log(JSON.stringify(obj1)); // { a: 1, b: { c: 0}}
  console.log(JSON.stringify(obj2)); // { a: 0, b: { c: 0}}

  obj2.a = 2;
  console.log(JSON.stringify(obj1)); // { a: 1, b: { c: 0}}
  console.log(JSON.stringify(obj2)); // { a: 2, b: { c: 0}}

  obj2.b.c = 3;
  console.log(JSON.stringify(obj1)); // { a: 1, b: { c: 3}}
  console.log(JSON.stringify(obj2)); // { a: 2, b: { c: 3}}

  // Deep Clone
  obj1 = { a: 0 , b: { c: 0}};
  let obj3 = JSON.parse(JSON.stringify(obj1));
  obj1.a = 4;
  obj1.b.c = 4;
  console.log(JSON.stringify(obj3)); // { a: 0, b: { c: 0}}

欲了解更多信息,请访问此

如何处理
Object.assign()
?它支持双向绑定,如果我在temp模型中更改,也会在main模型中影响,我会错过Object.assign()中的{}as参数,如果我有上述单个对象,它工作正常,但在对象列表中,则Object.assign不工作,你知道吗?试试
templast=Object.assign([],templast,pageModels)