Javascript 在angular 2类中存储成员变量的状态
我从服务lamdaService返回一个承诺,其中我将DB中的数据分配给模板/成员变量templateModel,该变量通过template.html中的表单进行修改。我希望初始/旧响应将其与修改后的进行比较,但我没有实现它,因为我启动了新变量旧响应,该响应将使用表单进行更新,并且我在console.log保存功能中得到了相同的结果Javascript 在angular 2类中存储成员变量的状态,javascript,angular,typescript,2-way-object-databinding,es6-class,Javascript,Angular,Typescript,2 Way Object Databinding,Es6 Class,我从服务lamdaService返回一个承诺,其中我将DB中的数据分配给模板/成员变量templateModel,该变量通过template.html中的表单进行修改。我希望初始/旧响应将其与修改后的进行比较,但我没有实现它,因为我启动了新变量旧响应,该响应将使用表单进行更新,并且我在console.log保存功能中得到了相同的结果 this.oldsresponse=JSON.parse(JSON.stringify(data.excludedRealStateDomains))对象的深度副本
this.oldsresponse=JSON.parse(JSON.stringify(data.excludedRealStateDomains))对象的深度副本对我来说很有用 this.oldResponse=JSON.parse(JSON.stringify(data.excludedRealStateDomains))
export class RSDLeadsComponent implements OnInit{
templateModel:RSDLeads = {
"excludedRealStateDomains": [{"domain":""}],
"leadAllocationConfigNotEditables": [{"attributeName":""}]
};
oldResponse:any;
constructor(private lambdaService:LambdaService, @Inject(APP_CONFIG)private config:IAppConfig ){};
ngOnInit():void{
this.getFormData();
};
getFormData():void{
let getPayload = {
"pageId": "DomainLeads",
"operationType": "view"
};
this.lambdaService.getResponse('LAConfigLambda', getPayload).then((data:any) => {
const tempData = data;
this.templateModel.excludedRealStateDomains = data.excludedRealStateDomains;
this.oldResponse = tempData.excludedRealStateDomains;
});
};
save(model: RSDLeads, isValid: boolean):void{
console.log("oldResponse",this.oldResponse);//oldResponse [Object, Object, Object]
console.log("templateModel",this.templateModel.excludedRealStateDomains);//templateModel [Object, Object, Object]
}
}