在Vue中封装Echarts并使用

为什么要封装


  • 如果不封装,每用一次图表,都要重新配置一边option,封装起来方便复用,也方便统一管理。
  • 解决元素以及窗口的resize等问题。
  • 自己动手封装,只需要看一份文档,并且可以使用更多的原生功能。
  • 看完这篇文章你或许觉得自己封装并不难。

效果图以及项目目录


1、效果图

在这里插入图片描述

2、项目目录

在这里插入图片描述

具体封装过程


1、Echarts的安装

npm i echarts --save

2、引入

  • 全部引入
    在你使用Echarts的.vue单文件直接使用以下语句引入:
import echarts from 'echarts'
  • 按需引入
    图省事可以整个引入,但是Echarts还是不小的,我们大部分只用到了其中的一部分功能,所以我推荐按需引入:
// 按需引入 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts')
// 引入柱状图
require('echarts/lib/chart/pie')
// 引入提示框和标题组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
require('echarts/lib/component/legend')

如果你想用某个组件,但是不清楚该组件属于Echarts的哪一个组成部分,这时你可以查阅文档点进去鼠标往下翻两下就可以简单下面这张图了,里面说的也比较清楚:
在这里插入图片描述

3、封装案例

此处以堆叠柱状图为例:BarChart.vue

<template>
  <div :class="className" :style="{height:height,width:width}" />
</template>

<script>
// 按需引入 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts')
// 引入柱状图
require('echarts/lib/chart/bar')
// 引入提示框和标题组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
import chartResize from './mixins/chart-resize'

export default {
   
  mixins:[chartResize],
  props: {
   
    className: {
   
      type: String,
      default: 'chart'
    },
    width: {
   
      type: String,
      default: '100%'
    },
    height: {
   
      type: String,
      default: '350px'
    },
    // 父组件传递过来的图表数据
    chartData: {
   
      type: Object,
      required: true
    }
  },
  data() {
   
    return {
   
      // Echarts实例
      chart: null
    }
  },
  watch: {
   
    /* 如果图表数据是后台获取的,监听父组件中的数据变化,重新触发Echarts */
    chartData: {
   
      deep: true,
      handler(val) {
   
        this.
  • 30
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
Vue封装Echarts有多种方式。一种方式是在main.js引入Echarts并将其挂载到Vue的原型上,这样在任何组件都可以通过this.$echarts使用Echarts[1]。另一种方式是按需引入Echarts的模块,只引入需要使用的功能模块。具体步骤如下: 1. 安装Echarts:在终端运行命令`npm i echarts --save`来安装Echarts。 2. 引入Echarts:在需要使用Echarts的.vue文件使用以下语句引入Echarts: ```javascript import echarts from 'echarts' ``` 3. 使用Echarts:在组件使用Echarts的方式有多种。以下以在模板使用Echarts为例: 在模板添加一个具有宽度和高度的div,用于显示图表: ```html <template> <div id="main" style="width: 1200px; height: 500px"></div> </template> ``` 在脚本初始化Echarts并绘制图表: ```javascript <script> export default { mounted() { this.initEcharts(); }, methods: { initEcharts() { // 在组件直接使用this.$echarts来进行操作 var myChart = this.$echarts.init(document.getElementById("main")); // 指定图表的配置项和数据 var option = { title: { text: "ECharts 入门示例", }, tooltip: {}, legend: { data: ["销量"], }, xAxis: { data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], }, yAxis: {}, series: [ { name: "销量", type: "line", data: [5, 20, 36, 10, 10, 20], }, ], }; // 使用刚指定的配置项和数据显示图表 myChart.setOption(option); }, }, }; </script> ``` 通过以上步骤,你就可以在Vue成功封装Echarts使用它了。 除了以上方式,还可以将Echarts封装Vue的插件。这种方式可以更好地复用和扩展Echarts的功能。详细的插件封装步骤超出了本次回答的范围,你可以参考Echarts的官方文档或查找相关教程来了解更多关于插件封装的内容。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值