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 相关文章推荐
关于viewport,Ext.panel和Ext.form.panel的关系
May 07 Javascript
jquery 插件实现图片延迟加载效果代码
Feb 06 Javascript
Linux下编译安装php libevent扩展实例
Feb 14 Javascript
JS获取表格内指定单元格html内容的方法
Mar 31 Javascript
在JavaScript中模拟类(class)及类的继承关系
May 20 Javascript
基于JavaScript实现焦点图轮播效果
Mar 27 Javascript
JS解析url查询参数的简单代码
Aug 06 Javascript
详解webpack loader和plugin编写
Oct 12 Javascript
vue中格式化时间过滤器代码实例
Apr 17 Javascript
JS中超越现实的匿名函数用法实例分析
Jun 21 Javascript
jQuery实现手风琴效果(蒙版)
Jan 11 jQuery
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
Mar 17 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也可以?成Shell Script
2006/10/09 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
django 取消csrf限制的实例
2020/03/13 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
金士达面试非笔试
2012/03/14 面试题
内科护士实习自我鉴定
2013/10/17 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
班组长竞聘书
2014/03/31 职场文书
初婚初育证明范本
2015/06/18 职场文书
小学班主任心得体会
2016/01/07 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书