vue中使用ECharts

2019-05-08  本文已影响0人  一叶知秋_038b

1.对于一般的图表制作 我在此强力推荐ECharts
官网:https://echarts.baidu.com/
丰富的demo 简单的配置 多样的形式 很好 很强大...
首先是引入Echarts
a.npm install echarts -S
b.cnpm install echarts -S
其次 如果多处使用echarts 可以
在main.js中引入echarts,将其绑定到vue原型上:
a.import echarts from 'echarts'
b.Vue.prototype.$echarts = echarts;
接下来 就可以在任意页面调用了


<div ref="myChart" :style="{width: '100%', height: '300px'}"></div>  
//因为 ECharts 初始化必须绑定 dom,所以我们只能在 vue 的 mounted 生命周期里进行初始化。
mounted() {
  this.initCharts();
},
methods: {
  initCharts() {
    this.chart = this.$echarts.init(this.$refs.myChart);
    this.setOptions();
  },
  setOptions() {
    this.chart.setOption({
      title: {
        text: 'ECharts 入门示例'
      },
      tooltip: {},
      xAxis: {
        data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
      },
      yAxis: {},
      series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20]
      }]
    })
  }
}

就这样简单,ECharts 就配置完成了,这时候你想说我的 data 是远程获取的,或者说我动态改变 ECharts 的配置该怎么办呢?我们可以通过 watch 来触发 setOptions 方法

//第一种 watch options变化 利用vue的深度 watcher,options 一有变化就重新setOption
watch: {
  options: {
    handler(options) {
      this.chart.setOption(this.options)
    },
    deep: true
  },
}
//第二种 只watch 数据的变化 只有数据变化时触发ECharts
watch: {
  seriesData(val) {
    this.setOptions({series:val})
  }
}
上一篇下一篇

猜你喜欢

热点阅读