echart异步初始化处理
来源:互联网 发布:税控盘软件官网 编辑:程序博客网 时间:2024/06/07 01:12
echart效果与功能非常强大,在实用调用中,存在一个问题,按官方简单入门例子( http://echarts.baidu.com/doc/start.html )调用代码执行,如果是使用 echarts/build/source/echarts.js文件,会在1711行报,空错 不能调用getAttribute方法错误,如下
原因是
解决方法:
轮询等待确认ec对象构造完成,再调用其相关的方法实现图表渲染。
示例代码如下:
self.init = function (dom, theme) { var zrender = require('zrender'); if ((zrender.version || '1.0.3').replace('.', '') - 0 < self.dependencies.zrender.replace('.', '') - 0) { console.error('ZRender ' + (zrender.version || '1.0.3-') + ' is too old for ECharts ' + self.version + '. Current version need ZRender ' + self.dependencies.zrender + '+'); } dom = dom instanceof Array ? dom[0] : dom; var key = <span style="color:#FF0000;">dom.getAttribute</span>(DOM_ATTRIBUTE_KEY); //这里的dom对象是空 if (!key) { key = _idBase++; dom.setAttribute(DOM_ATTRIBUTE_KEY, key); } if (_instances[key]) { _instances[key].dispose(); } _instances[key] = new Echarts(dom); _instances[key].id = key; _instances[key].canvasSupported = _canvasSupported; _instances[key].setTheme(theme); return _instances[key]; };
原因是
require( [ 'echarts', 'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载 ], function (ec) { var chart=<span style="color:#FF0000;">ec</span>.init(document.getElementById('xxxx')); //在这里的时候,异步初始化,对象并没有马上构造成功,如果直接调用 ec.init()就会报错,图表刷不出来。 ...... });
解决方法:
轮询等待确认ec对象构造完成,再调用其相关的方法实现图表渲染。
示例代码如下:
var echartConfig = null;require( [ 'echarts', 'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载 ], function (ec) { //全局变量指向配置对象 <span style="color:#FF0000;">echartConfig = ec;</span> });//这里调用轮询器,间隔检查echartConfig配置对象是否完成初始化。<span style="color:#FF0000;">var timeId = window.setInterval(checkEChartInit,1000);</span>//轮询器,定时调用查看配置对象是否非空function checkEChartInit(){ //判断echartConfig配置对象是否完成初始化 if(echartConfig){ //消除轮询函数 <span style="color:#FF0000;">clearInterval(timeId);</span> //统计查询渲染图表 showEchart(); }}function showEchart(){ //初始化图表对象 var mychart = <span style="color:#FF0000;">echartConfig.init</span>(document.getElementById('myChart')); //设置图表的显示属性 mychart.setOption( {......} ); }
0 0
- echart异步初始化处理
- Echart配置对象异步初始化问题
- EChart初始化
- echart
- Echart
- echart
- EChart
- Echart
- Echart
- EChart
- 在使用echart时使用异步方法来填充数据
- 异步调用,异步处理
- Winform界面异步初始化
- 异步处理
- 异步处理
- 异步处理
- 异步处理
- 异步处理
- 文章标题
- [Linux]shell 变量$*, $#, $?, $!, $1,$2,..., $n的含义
- Android中asset文件夹和raw文件夹区别
- Oracle 里面的 TRANSLATE 以及 SQL Server 下的实现
- java创建一个类并编译运行day01
- echart异步初始化处理
- WCDMA频繁位置更新登记的分析和优化
- Windows内存管理
- 完成类似百度贴吧客户端tableview滑动效果
- 九度OJ--1006-ZOJ问题
- 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件 未能加载类型
- 第1题:把二叉搜索树转换为一个排序的双向链表
- 最好的编程是什么,怎样做好编程!
- 连接sql server