VUE 프런트엔드에서 백그라운드에서 요청된 데이터로 데이터 구조 변환 작업 수행

나는 쓸데없는 말을 더 이상 하지 않겠다. 모두들 직접 코드를 보는 것이 좋겠다

let label(){
let _this = this;
let _offset = (_this.pagination.currentPage - 1) * _this.pagination.pageSize
let params ={
offset:_offset,// 
limit:_limit,// 
}
labelView(",params).then(res=>{
_this.list = res.data.data
_this.pagination.total = res.data.pagination.total;
// 
let treeDataArray = new Array();
const element = _this.list
let obj={
name:"",
isExpand:true,
children:new Array()
}
treeDataArray.push(obj);
for(let dd1 = 0;dd1<_this.list.length;dd1++){
const element = _this.list[dd];
let obj1 ={
root:true,
isExpand:true,
name:element['model'],
children:new Array()
}
obj.children.push(obj1);
for(let dd2 = 0;dd2<element.label.length;dd2++){
const element2 = element.label[dd2];
let obj2 = {
name:element['label2'],
isExpand:true,
children:new Array()
};
obj1.children.push(obj2);
for(let dd3 = 0;dd3<element2['label3'].length;dd3++){
const element3 = element2['label3'][dd3];
obj2.children.push({
name:element3,
})
}
}
}
_this.treeList = treeDataArray;
보충 지식: Vue에서 맵 데이터 구조의 구덩이를 사용하여 직접 set로 양방향 데이터 귀속을 트리거할 수 없음(솔루션)
1. es6의 사용을 관철하고 싶어서 프로젝트에서 es6의 특성을 많이 사용했는데 결과적으로 맵의 set 방법으로 데이터를 업데이트하여 보기가 동기화되지 않습니다.
그러므로 재설정 방식으로 목적을 달성하는 것은 유사하다
let obj = Object.assign({},{})
혹은
 let arr = [].concat['a']

let no = server_no.toString()
let is_check = this.collated_data.get(no).is_check
this.collated_data.get(no).is_check = !is_check
//  Map 
this.collated_data = new Map(this.collated_data)
인용을 바꾸는 것이 아니라 값을 다시 부여합니다.
위의 VUE 전단에서 백그라운드에서 요청한 데이터를 변환하는 데이터 구조 조작은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기