要在 Vue2 中使用 ECharts,可以先在项目中引入 ECharts 库,然后在 Vue 组件中创建 ECharts 实例并传入配置选项。
以下是封装 ECharts 组件的基本步骤:
安装 ECharts
使用 npm 安装 ECharts:
1
| npm install echarts --save
|
创建一个 ECharts 组件
在 components 文件夹下创建一个 ECharts 组件:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| <template> <div :id="chartId" :style="{height: height,width: width}"></div> </template>
<script> import echarts from 'echarts'
export default { props: { chartOptions: { type: Object, required: true }, width: { type: String, default: '100%' }, height: { type: String, default: '400px' } }, data() { return { chart: null, chartId: `chart-${Math.random()}` } }, mounted() { window.addEventListener('resize', this.handleResize) }, watch: { chartOptions: { deep: true, handler: function() { this.renderChart() } } }, methods: { renderChart() { this.chart = echarts.init(document.getElementById(this.chartId) this.chart.setOption(this.chartOptions) }, handleResize() { this.chart.resize() } }, beforeDestroy() { if (this.chart) { window.removeEventListener('resize', this.handleResize) this.chart.dispose() this.chart = null } } } </script>
|
在需要使用 ECharts 的组件中引入 ECharts 组件
在需要使用 ECharts 的组件中引入 ECharts 组件,并传入配置选项:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| <template> <div> <my-echarts :chartOptions="chartOptions" /> </div> </template>
<script> import axios from 'axios'; import MyEcharts from './MyEcharts.vue';
export default { components: { MyEcharts, }, data() { return { chartOptions: {}, }; }, mounted() { this.getData(); }, methods: { getData() { axios.get('/api/data').then(response => { this.chartOptions = { xAxis: { type: 'category', data: response.data.categories, }, yAxis: { type: 'value', }, series: [ { data: response.data.data, type: 'line', }, ], }; }); }, }, }; </script>
|
这样就可以在 Vue2 中封装 ECharts 组件并使用了。可以根据需要对 ECharts 组件进行修改和扩展。