【发布时间】:2017-09-05 04:14:02
【问题描述】:
假设我有以下 Typescript 模型:
class Person{
public Address: Address;
public FirstName: string;
public LastName: string;
constructor(){
this.Address = new Address();
}
}
我通过 JSON 从服务器获得了该对象的精确表示。
我将如何一般地设置 Person 和 Address 的属性,但 保持现有对象不变。
与此类似,但一般来说:
public SetData(json:any){
this.Address.City = json.Address.City;
this.Address.Province = json.Address.Province;
this.FirstName = json.FirstName;
}
问题在于原始对象必须保留,并且因为它们是 Mobx 可观察对象而调用了 setter。这排除了 Object.assign 和我找到的任何“扩展”方法。
谢谢。
【问题讨论】:
-
你试过extendObservable吗?
SetData中的extendObservable(this, json)可能会起作用。
标签: javascript json typescript mobx