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 相关文章推荐
javascript css float属性的特殊写法
Nov 13 Javascript
jQuery右键菜单contextMenu使用实例
Sep 28 Javascript
利用jq让你的div居中的好方法分享
Nov 21 Javascript
Node.js异步I/O学习笔记
Nov 04 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
May 07 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
Sep 04 Javascript
基于Javascript实现的不重复ID的生成器
Dec 25 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
Mar 22 Javascript
canvas简单快速的实现知乎登录页背景效果
May 08 Javascript
JavaScript递归算法生成树形菜单
Aug 15 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
May 07 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 设计模式之 单例模式
2008/12/19 PHP
php 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
php获取域名的google收录示例
2014/03/24 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
javascript multibox 全选
2009/03/22 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
python实现bucket排序算法实例分析
2015/05/04 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
夜大毕业生自我评价分享
2013/11/10 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
答谢会策划方案
2014/05/12 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
JavaScript 实现页面滚动动画
2021/04/24 Javascript
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers
Python创建SQL数据库流程逐步讲解
2022/09/23 Python