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)代码>