Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular 2类中存储成员变量的状态_Javascript_Angular_Typescript_2 Way Object Databinding_Es6 Class - Fatal编程技术网

Javascript 在angular 2类中存储成员变量的状态

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))对象的深度副本

我从服务lamdaService返回一个承诺,其中我将DB中的数据分配给模板/成员变量templateModel,该变量通过template.html中的表单进行修改。我希望初始/旧响应将其与修改后的进行比较,但我没有实现它,因为我启动了新变量旧响应,该响应将使用表单进行更新,并且我在console.log保存功能中得到了相同的结果


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]
    }
}