调接口获取数据的时候,经常会遇见返回的数据类型是数组对象集合。
而需要循环初始化多个相同的数据集合,会出现改一个集合的内容。其他的集合也会改变。
addNewData(index, row) {
let data = [{name: 'ss', age: 18},{name: 'aq', age: 90}];
this.temp1 = data;
this.temp2 = data;
this.temp1 = [{name: '小芳', age: 22}];
//this.temp2的值也是[{name: '小芳', age: 22}]
}
用json.parse和json.stringify解决
jsonTransfer(obList){
let tempOb = null;
if(typeof (obList) == 'object') {//为数组类型先stringify再parse
tempOb = JSON.parse(JSON.stringify(obList));
} else if(type of typeof (obList) == 'string') { //为json格式时直接parse转
tempOb = JSON.parse(obList);
}
return tempOb;
},
addNewData(index, row) {
let data = [{name: 'ss', age: 18},{name: 'aq', age: 90}];
this.temp1 = this.jsonTransfer(data);//[{name: 'ss', age: 18},{name: 'aq', age: 90}];
this.temp2 = this.jsonTransfer(data);//[{name: 'ss', age: 18},{name: 'aq', age: 90}];
this.temp1 = [{name: '小芳', age: 22}];
//this.temp2的值是[{name: 'ss', age: 18},{name: 'aq', age: 90}];
}