vue在使用ECharts时的异步更新和数据加载详解

2020-06-16 05:55:57易采站长站整理

前言

最近在学习eCharts,学习到了异步更新和数据加载这一块,觉着有必要总结一下,方法以后的时候参考学习,在开始本文之前,对eCharts不熟悉的朋友们可以参考下这篇文章://www.jb51.net/article/128790.htm  下面话不多说了,来一起看看详细的介绍吧。

使用方法

使用Echarts首先得先把Echarts.js引进来(放在文件的入口html文件里面)


<script src="public/js/echarts.common.min.js"></script>

 

在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器


<div id="main" style="width: 600px;height:400px;"></div>

初始化一个 echarts 实例并通过 setOption 方法生成一个你想要的图表类型,

首先先把,echarts里setOption的option,单独领出来,初始化放在data里


data() { return {

    

getSetOption: {//折线图

title: {

text: null

},

tooltip: {

trigger: 'axis'

},

grid: {

left: '3%',

right: '4%',

bottom: '3%',

containLabel: true

},

yAxis: {

type: 'value'

},

legend: {

data: []

},

xAxis: {

type: 'category',

data: []

},

series: [

{

name: null,

type: 'line',

stack: '总人数',

data: []

}

]

},

getPieOption: {//饼图

title: {

text: null

},

tooltip: {

tooltip: 'item',

formatter: "{a} <br/> {b} : {c} ({d}%)"

},

series : [

{

type: 'pie',

radius: '55%',

data:[

].sort(function(a,b){return a.value - b.value;}),

roseType: 'angle',

}

]

},

  }

}

下面是在methods里初始化的一个方法, 


drawLineChart() {

this.lineChartOrder = echarts.init(document.getElementById('lineChartOrder'));

this.lineChartOrder.setOption(this.getSetOption);

},

然后在mounted里调用这个方法


this.drawLineChart(),

接下来就就是数据异步加载与更新了。

以下的代码是本地的json类型,异步加载数据时只要填入数据,然后在series里根据名字对应到相应的系列就可以了。


getOrderTotal(){//获取一段时间内的订单统计

api.getOrderStatistical(this.begin, this.end,this.kId)

.then(res => {