VUE前端从后台请求过来的数据进行转换数据结构操作


Posted in Javascript onNovember 11, 2020

我就废话不多说了,大家还是直接看代码吧`

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中使用Map数据结构的坑, 直接set 无法触发 双向数据绑定(解决方案)

1. 因为想贯彻es6的使用, 在项目中 多多使用 es6 的特性, 结果Map 的 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前端从后台请求过来的数据进行转换数据结构操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript的并行运算实现代码
Nov 19 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
jQuery表格插件ParamQuery简单使用方法示例
Dec 05 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
Dec 11 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 Javascript
vue2笔记 — vue-router路由懒加载的实现
Mar 03 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
Jun 12 Javascript
Vue使用vue-cli创建项目
Sep 01 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
Apr 12 jQuery
node+koa2+mysql+bootstrap搭建一个前端论坛
May 06 Javascript
Vue强制组件重新渲染的方法讨论
Feb 03 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 #Javascript
Vue 401配合Vuex防止多次弹框的案例
Nov 11 #Javascript
VUE-ElementUI 自定义Loading图操作
Nov 11 #Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 #Javascript
vue.js+element 默认提示中英文操作
Nov 11 #Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 #Javascript
vue 实现element-ui中的加载中状态
Nov 11 #Javascript
You might like
PHP的FTP学习(一)[转自奥索]
2006/10/09 PHP
PHP中的加密功能
2006/10/09 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
Python中查看文件名和文件路径
2017/03/31 Python
python导入模块交叉引用的方法
2019/01/19 Python
树莓派实现移动拍照
2019/06/22 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
Python生成词云的实现代码
2020/01/14 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
高级3D打印市场:Gambody
2019/12/26 全球购物
毕业生的自我鉴定
2013/10/29 职场文书
初中生期末考试的自我评价
2013/12/17 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
教师学期个人总结
2015/02/11 职场文书
运动会运动员赞词
2015/07/22 职场文书
办公用品管理制度
2015/08/04 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技