把echarts做成通用component

news/2024/7/10 2:34:58 标签: echarts, vue

新建一个组件的vue,例:@\components\graph\BarGraph.vue
内容:

<template>
  <div>
    <div ref="barGraph" class="graph" />
  </div>
</template>

<script>
import * as echarts from 'echarts'

export default {
  name: 'BarGraph',
  props: {
    // 与父组件交互的数据
    xyData: {
      type: Array,
      default: null
    },
    ......
  },
  data() {
    return {
      chart: null // echarts的实例
    }
  },
  watch: {
    // xyData的数据发生变化时,重画
    xyData: {
      handler(val, oldVal) {
        this.drawChart()
      }
    }
  },
  mounted() {
    // 窗口大小变化时,组件大小随之改变
    const _this = this
    window.addEventListener('resize', () => {
      if (_this.chart) {
        _this.chart.resize()
      }
    })
  },
  methods: {
    drawChart() {
      this.chart = echarts.init(this.$refs.barGraph)

      this.chart.setOption({
        // 一些该组件的设置
        ......
        series: [{
          ......
          data: this.xyData,
        }]
      })
    }
  }
}
</script>

父组件,例:test.vue

<template>
  ......
        <!-- 引用写好的子组件 -->
        <bar-graph
          :xy-data="barXyData"
        />
</template>

<script>
import BarGraph from '@/components/graph/BarGraph' // 引入子组件

export default {
  ......
  components: {
    BarGraph
  },
  data() {
    return {
      barXyData: []
    }
  },
  created() {
    this.loadBarData()
  },
  methods: {
    loadBarData() {
    // 写自己的数据加载逻辑
    }
  }
}
</script>


http://www.niftyadmin.cn/n/937370.html

相关文章

Windows8.1设置微软账户自动登录

Windows 8.1正式版发布有一段时间了&#xff0c;相信很多人都已经升级到8.1了。在Windows 8.1中SkyDrive和本地“文件”整合成为一个新功能。要使用SkyDrive&#xff0c;我们就需要使用微软账户登陆Windows 8.1系统。如果Windows8.1使用本地账户登陆系统&#xff0c;在配置SkyD…

发布版,浏览器端隐藏代码

在vue.config.js中&#xff0c;追加以下设定&#xff1a; module.exports {productionSourceMap: false }

C++虚函数机制解析

C的虚函数&#xff08;Virtual Function&#xff09;是通过一张虚函数表&#xff08;Virtual Table&#xff09;来实现的。简称为V-Table。 在这个表中&#xff0c;主是要一个类的虚函数的地址表&#xff0c;这张表解决了继承、覆盖的问题&#xff0c;保证其容真实反应实际的函…

Linux 运维自动化之Cobbler安装与配置详解

大纲一、前言二、环境配置三、Cobbler 安装 四、Cobbler 配置详解 注&#xff0c;操作系统 CentOS 6.4 x86_64&#xff0c;软件版本 Cobbler-2.4.0-1。&#xff08;目前最新版&#xff09;一、前言在上一篇博客中&#xff08;http://freeloda.blog.51cto.com/2033581/1319695&a…

去除npm build的performance性能警告

npm build完以后&#xff0c;出现以下警告&#xff1a; WARNING Compiled with 2 warnings …

使用 SAML 协议将 Web 应用与 VMware Horizon Workspace 集成

使用 SAML 协议将 Web 应用与 VMware Horizon Workspace 集成概述企业应用管理的难题之一是几乎每位最终用户都需要访问大量的应用[SW1]。单点登录 (SSO) 是一种非常有效的方式&#xff0c;可以使用户更方便地访问应用&#xff0c;而且对企业更安全。市场上一些SSO 解决方案以企…

去掉Excel自动弹出的粘贴选项按钮

在Excel中粘贴时&#xff0c;会自动弹出粘贴选项框&#xff0c;很讨厌。 去除&#xff0c;把下面的勾去掉(日语版)&#xff1a;

实现程序Django学习纪实之一介绍

在改章节中,我们主要介绍实现程序的内容,自我感觉有个不错的建议和大家分享下 一、Django简介 Django是一种web开辟框架&#xff0c;使web开辟变得高效洁简。它借用MVC计设模式的想思&#xff0c;一个Django程序一般括包&#xff1a; models.py 、views.py 、 urls.py 和html板…