,还要考虑到整套打印,所以滚动加载和分页浏览不是最好的方案,这导致数据超级多的时候(大概会生成2000多页的报告且上不封顶),会造成页面假死,疯狂占用电脑内存,低配置的电脑根本无法加载,甚至造成死机
在项目结构上我们采用数据分发的方式控制组件的渲染...,并且在这个时候我其他的操作都是在等待图表绘制完成的,也就是说必须要等到所有图表绘制完毕,所有页面加载出来我才能去计算页码并将其赋值,这个期间目录页的大模块页码定位全都是空白的,而这时候由于要等待所有操作完成...,且cpu这时候被占满,自然而然的就造成了页面的假死状态.既然同步渲染会造成假死,那么解决方案自然就有了:异步执行绘制图表方法
先看一下异步的运行机制
(1)所有同步任务都在主线程上执行,形成一个执行栈...,他就相当于一个任务队列,当我处理完数据时,不是第一时间就去执行绘制的方法,而是将处理好需要图表渲染的数据添加到这个data的队列里,每一个用到该图表的模块都是如此,这样一来等数据处理结束data队列里就存着所有需要渲染的数据了.../assets/js/chart.js'
//在mounted里执行
parmise(chart);
ok,到这里问题解决,基本上每次滑动滚轮时图表绘制两个左右,出图速度飞快,低配置机器也可正常运行;