Angular 用另一个对象替换对象

Angular 用另一个对象替换对象,angular,typescript,Angular,Typescript,我有一个包含和address对象的organization对象,我想用从表单中获得的值编辑address对象,然后我想用新对象地址更改organization对象中的address对象,因此我使用了object.assign,但它总是返回旧地址 export class Organization { public address?: Address; public telecoms?: Telecom[]; public metier?: Dictionary; } e

我有一个包含和address对象的organization对象,我想用从表单中获得的值编辑address对象,然后我想用新对象地址更改organization对象中的address对象,因此我使用了
object.assign
,但它总是返回旧地址

export class Organization {
    public address?: Address;
    public telecoms?: Telecom[];
    public metier?: Dictionary;
}

export class Address {
    public zipCode?: Dictionary;
    public country?: Dictionary;
    public city?: string;
}

export class Dictionary {
    public id?: number;
    public code?: string;
    public label?: string;
}

this.organizationService.getOneById(this.id).subscribe((organization: Organization) => this.organization= organization });

const address = this.editForm.get("address").value;

console.log(JSON.stringify({ address })); // {"address":{"country":{"id":2},"zipCode":{"id":1}}} 

let organiationToSave: Organization = this.organization;

Object.assign({}, organiationToSave , JSON.stringify({ address }));

console.log(organiationToSave); 
在上面的代码中,您将值分配给一个新对象
{}
,然后登录
组织保存
。这毫无意义

也许你想这样做

const obj = Object.assign({}, organiationToSave , JSON.stringify({ address }));

console.log(obj);
或者,如果要将组织更新为保存,请执行以下操作:

Object.assign(organiationToSave , JSON.stringify({ address }));

console.log(organiationToSave);

我想更新
organiationToSave
,所以我使用了
Object.assign(organiationToSave,JSON.stringify({address}))
但我向我展示了这个erreur
无法添加属性0,对象不可扩展
@AymenKanzari这是因为您的代码的某些部分(在您的问题中未显示)使用了
对象.preventExtensions()
。看见不过,这是另一个问题的另一个问题。我没有在代码的任何部分使用
Object.preventExtensions()
,我从
organizationService.getOneById
获取
organization
,然后我想更新这个组织。@AymenKanzari这是一个单独的问题,你应该在单独的问题中提问,我们会尽力帮助你。关于这一点,考虑投票和选择最佳答案。另外,我打赌
getOneById
包含
Object.preventExtensions()
code。
Object.assign(organiationToSave , JSON.stringify({ address }));

console.log(organiationToSave);