vue中引入echarts并实现echarts自适应

在许多项目中需要使用到柱状图、饼状图等,在本篇博客中介绍echarts的自适应。

<!-- more -->

实现echarts的自适应可以使用window.onresize(),具体操作如下: <br> npm安装echats:

1
npm install echarts --save

在使用echarts的页面引入echarts

1
2
3
4
5
6
7
let echarts = require('echarts/lib/echarts')
//根据需要引入相应图的组件
require('echarts/lib/chart/bar')//柱状图
require("echarts/lib/chart/lines")//折线图
require('echarts/lib/chart/pie')//饼状图
require("echarts/lib/component/toolbox")//上方可以下载图片、刷新等工具栏
require('echarts/lib/component/title')//标题

页面上创建容纳echarts的盒子

1
2
<div id="myChart" :style="{width:'100%',height:'600px'}"></div>
<div id="myChartPie" :style="{width:'100%',height:'600px'}"></div>

在js中的操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//data
data(){
return {
myChart: {},
myChartPie: {}
}
}
//methods 初始化echarts
methods: {
drawChart() {
let idx = 1
let myChart = echarts.init(document.getElementById('myChart'))
let myChartPie = echarts.init(document.getElementById('myChartPie'))
myChart.setOption({...})
myChartPie.setOption({...})
return { myChart: myChart, myChartPie: myChartPie }
}
//mounted 挂载后执行
mounted() {
let echarts = this.drawChart()
this.myChart = echarts.myChart
this.myChartPie = echarts.myChartPie
window.onresize = () => {
// 这里使用箭头函数,避免this指向问题
this.myChart.resize()
this.myChartPie.resize()
}
}

本文标题:vue中引入echarts并实现echarts自适应

文章作者:AHRL

发布时间:2018年07月10日 - 10:07

最后更新:2018年07月10日 - 10:07

原始链接:http://ahrler.xyz/2018/07/10/vue中引入echarts并实现echarts自适应/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------