将相同的数据分配给两个不同的变量更新变量+ Angular 6

时间:2018-11-05 10:24:57

标签: angular filter

我想在客户端进行数据搜索,因为我需要在两个不同的变量中设置API的响应

代码如下。

public masterData:any = [];
public searchData:any = [];
this.httpClient.post("url", {id:'1'}).subscribe((res:any)=>{
  if(res.success){
    this.masterData = res.data;
    this.searchData = res.data;
  }
})

在这种情况下,当我搜索并设置searchData变量时,它也会同时更新 masterData

所以我不想更新它..

我一直想搜索 masterData 并在 searchData

中进行设置

2 个答案:

答案 0 :(得分:1)

使用点差运算符:

this.masterData = [ ...res.data ];
this.searchData = [ ...res.data ];

答案 1 :(得分:-1)

您可以使用lodash,因为它会对对象进行深层克隆。这是克隆对象的更完美方法。 传播算子 Object.assign 不这样做。

函数为_.cloneDeep(obj2)

  

这里是一个例子:

var obj1 = _.cloneDeep(obj2);

还是,如果您想使用Spread operatorObject.assign,那么这里是一个示例。

var obj1 = [ ...obj2 ];
var obj1 = Object.assign(obj2);