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操作word的参考代码
Oct 26 Javascript
Javascript Jquery 遍历Json的实现代码
Mar 31 Javascript
javascript数组去重方法终极总结
Jun 05 Javascript
jQuery中prepend()方法用法实例
Dec 25 Javascript
jQuery入门介绍之基础知识
Jan 13 Javascript
jquery图片切换插件
Mar 16 Javascript
div中文字内容溢出常见的解决方法
Mar 16 Javascript
.vue文件 加scoped 样式不起作用的解决方法
May 28 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
Sep 02 Javascript
vue项目开发中setTimeout等定时器的管理问题
Sep 13 Javascript
JS中async/await实现异步调用的方法
Aug 28 Javascript
vue 中的 render 函数作用详解
Feb 28 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
pw的一个放后门的方法分析
2007/10/08 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
php date与gmdate的获取日期的区别
2010/02/08 PHP
php输出表格的实现代码(修正版)
2010/12/29 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
Vue.js教程之计算属性
2016/11/11 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
Django设置Postgresql的操作
2020/05/14 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
汽车专业人才自我鉴定范文
2013/12/29 职场文书
银行优秀员工事迹
2014/02/06 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2015年路政工作总结
2015/05/22 职场文书
2016年会开场白台词
2015/06/01 职场文书
导游词之潮音寺
2019/09/26 职场文书
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL