Angular 我需要做什么来确保我在observable中指定的对象不受角度更新的影响?
当我调用updateData方法并更新myObj的属性时,这个更改会影响tmpObj。但是我不希望tmObj对象受到这些更改的影响。我应该为此做些什么?如果是一个数组,您可以执行以下操作:Angular 我需要做什么来确保我在observable中指定的对象不受角度更新的影响?,angular,rxjs,observable,angular6,reference-type,Angular,Rxjs,Observable,Angular6,Reference Type,当我调用updateData方法并更新myObj的属性时,这个更改会影响tmpObj。但是我不希望tmObj对象受到这些更改的影响。我应该为此做些什么?如果是一个数组,您可以执行以下操作: myObj : [] = []; tmpObj: [] = []; ngOnInit() { this.myService.getData().subscribe( data => { this.myObj = data.values;
myObj : [] = [];
tmpObj: [] = [];
ngOnInit() {
this.myService.getData().subscribe(
data => {
this.myObj = data.values;
this.tmpObj = Object.assign([], this.myObj);
}
)
}
updateData(prop, val) {
this.myObj[prop] = val;
}
this.myService.getData().subscribe(
data => {
this.myObj = data.values;
this.tmpObj = data.values.slice();
}
)
或者你可以:
myObj : [] = [];
tmpObj: [] = [];
ngOnInit() {
this.myService.getData().subscribe(
data => {
this.myObj = data.values;
this.tmpObj = Object.assign([], this.myObj);
}
)
}
updateData(prop, val) {
this.myObj[prop] = val;
}
this.myService.getData().subscribe(
data => {
this.myObj = data.values;
this.tmpObj = data.values.slice();
}
)
您需要制作对象数组的深度副本