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学习笔记--数字格式类型
May 22 Javascript
jQuery截取指定长度字符串代码
Aug 21 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
Dec 31 Javascript
jQuery事件绑定on()与弹窗实现代码
Apr 28 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
Node.js中process模块常用的属性和方法
Dec 13 Javascript
微信小程序多张图片上传功能
Jun 07 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
Sep 14 Javascript
详解滑动穿透(锁body)终极探索
Apr 16 Javascript
微信小程序websocket实现即时聊天功能
May 21 Javascript
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
如何理解Vue简单状态管理之store模式
May 15 Vue.js
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中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
smarty的section嵌套循环用法示例
2016/05/28 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
JS实现屏蔽shift,Ctrl,alt等功能键的方法
2015/06/01 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
Jquery插件easyUi实现表单验证示例
2015/12/15 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
python3实现暴力穷举博客园密码
2016/06/19 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
Python pandas常用函数详解
2018/02/07 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
给面试官的感谢信
2014/02/01 职场文书
党员批评与自我批评
2014/02/12 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
小班评语大全
2014/05/04 职场文书
设备管理实施方案
2014/05/31 职场文书
读群众路线的心得体会
2014/09/03 职场文书
聚会通知怎么写
2015/04/23 职场文书
关于军训的感想
2015/08/07 职场文书
MySQL 不等于的三种使用及区别
2021/06/03 MySQL