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 相关文章推荐
js+JQuery返回顶部功能如何实现
Dec 03 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
禁止拷贝网页内容的js代码
Jan 22 Javascript
jquery解析xml字符串简单示例
Apr 11 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
JavaScript节点及列表操作实例小结
Aug 05 Javascript
JS实现图片平面旋转的方法
Mar 01 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
详解ECMAScript6入门--Class对象
Apr 27 Javascript
element-ui 表格数据时间格式化的方法
Aug 24 Javascript
基于Layui自定义模块的使用方法详解
Sep 14 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
Nov 02 Javascript
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
php array_merge下进行数组合并的代码
2008/07/22 PHP
php 归并排序 数组交集
2011/05/10 PHP
教你如何使用php session
2013/10/28 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
jquery 插件开发方法小结
2009/10/23 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
消防先进事迹材料
2014/02/10 职场文书
村党支部换届选举方案
2014/05/02 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
银行竞聘报告范文
2014/11/06 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
歌咏比赛主持词
2015/06/29 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
Redis可视化客户端小结
2021/06/10 Redis
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
python 多态 协议 鸭子类型详解
2021/11/27 Python
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL
Java使用HttpClient实现文件下载
2022/08/14 Java/Android