vue中echarts3.0自适应的方法


Posted in Javascript onFebruary 26, 2018

前端时间做一个vue的项目,echart是按需引入的如下:

// 引入 ECharts 主模块
import echarts from 'echarts/lib/echarts'
// 引入折线图
import 'echarts/lib/chart/line'
// 引入提示框和图例组件
import 'echarts/lib/component/tooltip'
import 'echarts/lib/component/legendScroll'

然后发现在缩放浏览器窗口时折线图并不会自适应,费了好一会才解决,记录下来给需要的小伙伴,

第一种:浏览器自适应

通过:

在myChart.setOption后添加

window.onresize = myChart.resize;

如果有多个图形,可以封装成方法: 

mounted(){ 
this.changEcharts(); 
}, 
methods:{ 
changEcharts() { 
window.addEventListener('resize', ()=> { 
this.drawLineDom.resize(); 
this.todayFlowDom.resize(); 
this.hitRateDom.resize();});};},} 
this.drawLineDom = this.$echarts.init(document.getElementById('chart-bandwidth'));

第二种情况,根据div大小的变化进行自适应

因为vue不能实时监测div大小变化的,所以我定义了一个按键,当按键的值变化的时候,进行resize;

import { mapState }from'vuex'; 
computed: mapState({isCollapse:'isCollapse',//这里我是语用的vuex保存的变量,可以不用vuex,我是因为组件之间的通讯}), 
watch: { 
isCollapse() { // 注意一定不要用箭头函数,会获取不到this 
setTimeout(() => { 
this.drawLineDom.resize(); 
this.todayFlowDom.resize(); 
this.hitRateDom.resize(); 
}, 500);},},

其实我用这个是在导航进行伸缩的时候,导致div大小发生了变化,所以这样执行reszie,就能完美的自适应

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery中children()与find()的区别介绍
Apr 26 Javascript
jquery js 重置表单 reset()具体实现代码
Aug 05 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
Oct 11 Javascript
Bootstrap学习笔记之css组件(3)
Jun 07 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 Javascript
Webpack执行命令参数详解
Jun 17 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
Jul 17 Javascript
JS实现前端缓存的方法
Sep 21 Javascript
js实现rem自动匹配计算font-size的示例
Nov 18 Javascript
JavaScript框架Angular和React深度对比
Nov 20 Javascript
js实现计算器功能
Aug 10 Javascript
如何实现vue的tree组件
Dec 03 Vue.js
swiper 解决动态加载数据滑动失效的问题
Feb 26 #Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
Feb 26 #Javascript
Angular5中调用第三方js插件的方法
Feb 26 #Javascript
angular2中使用第三方js库的实例
Feb 26 #Javascript
vue 子组件向父组件传值方法
Feb 26 #Javascript
vue2 前端搜索实现示例
Feb 26 #Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 #Javascript
You might like
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
Javascript模板技术
2007/04/27 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
python3字符串输出常见面试题总结
2020/12/01 Python
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
市场专员岗位职责
2014/02/14 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang