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 Array数组对象的扩展函数代码
May 22 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
jquery改变disabled的boolean状态的三种方法
Dec 13 Javascript
浅谈jQuery构造函数分析
May 11 Javascript
基于jquery css3实现点击动画弹出表单源码特效
Aug 31 Javascript
js生成随机数的方法实例
Oct 16 Javascript
JS鼠标拖拽实例分析
Nov 23 Javascript
分享JavaScript监听全部Ajax请求事件的方法
Aug 28 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
Jan 23 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
Nov 07 Javascript
JavaScript实现简单计算器功能
Dec 19 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 parse_url 一个好用的函数
2009/10/03 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
请离开include_once和require_once
2013/07/18 PHP
php实现json编码的方法
2015/07/30 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
jQuery 表格工具集
2010/04/25 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
vue跨域解决方法
2017/10/15 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
Vue render深入开发讲解
2018/04/13 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
python虚拟环境完美部署教程
2019/08/06 Python
python线性插值解析
2020/07/05 Python
Python接口自动化测试的实现
2020/08/28 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
高中学校对照检查材料
2014/08/31 职场文书
2014年教研室工作总结
2014/12/06 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
MySQL 时间类型的选择
2021/06/05 MySQL
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记