仅以此记录下个人使用echart的方法,毕竟好记性不如烂笔头。

参考资料

手摸手,带你用vue撸后台 系列三(实战篇)

安装echarts

npm install echarts --save

echarts package版本

"echarts": "^4.2.0-rc.2"

utils

export function debounce (func, wait, immediate) {let timeout, args, context, timestamp, resultconst later = function () {// 据上一次触发时间间隔const last = +new Date() - timestamp// 上次被包装函数被调用时间间隔last小于设定时间间隔waitif (last < wait && last > 0) {timeout = setTimeout(later, wait - last)} else {timeout = null// 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用if (!immediate) {result = func.apply(context, args)if (!timeout) context = args = null}}}return function (...args) {context = thistimestamp = +new Date()const callNow = immediate && !timeout// 如果延时不存在,重新设定延时if (!timeout) timeout = setTimeout(later, wait)if (callNow) {result = func.apply(context, args)context = args = null}return result}
}

chart组件代码

<template><div :class="className" :style="{height:height,width:width}"></div>
</template><script>
import echarts from 'echarts'
import { debounce } from '@/utils'export default {props: {className: {type: String,default: 'chart'},width: {type: String,default: '100%'},height: {type: String,default: '350px'},autoResize: {type: Boolean,default: true},chartData: {type: Object}},data () {return {}},mounted () {this.initChart()if (this.autoResize) {this.__resizeHanlder = debounce(() => {if (this.$chart) {this.$chart.resize()}}, 100)window.addEventListener('resize', this.__resizeHanlder)}},beforeDestroy () {if (!this.$chart) {return}if (this.autoResize) {window.removeEventListener('resize', this.__resizeHanlder)}this.$chart.dispose()this.$chart = null},watch: {chartData: {deep: true,handler (val) {this.setOptions(val)}}},methods: {setOptions (val) {this.$chart.clear() // 清空画布this.$chart.setOption(val)},initChart () {this.$chart = echarts.init(this.$el, 'macarons')this.setOptions(this.chartData)}}
}
</script>

使用方法

<template><div><charts :chartData="Option"></charts></div>
</template><script>
import Charts from '@/components/Charts'export default {name: 'chartDemo',components: {Charts},data () {return {Option: {}}},mounted () {this.getList()},methods: {getList () {this.Option = {xAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {type: 'value'},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: 'line'}]}}}
</script>

vue中使用echarts 使用记录相关推荐

  1. vue中使用echarts实现动态数据绑定、获取后端接口数据

    之前几篇echarts的文章是实现了静态的柱状图.折线图.饼状图.地图,在项目中我们肯定是需要获取后端接口,将后端返回的数据显示在图表上,所以这次就记录一下如何实现echarts的动态数据绑定. 简单 ...

  2. 在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的值的解决方法

    在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的值的解决方法 参考文章: (1)在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的 ...

  3. Vue中使用echarts图表插件

    一.安装echarts依赖 npm install echarts -S 或者使用淘宝的镜像 npm install -g cnpm --registry=https://registry.npm.t ...

  4. echart高级使用_Vue:在Vue中使用echarts

    前言 公司的项目中需要对数据做可视化处理,高级点的D3.js目前还没接触到,因此选用了大众化的Echarts, 在vue的生态系统中已经有实现好的vue-echarts,但是使用现成的就意味着必须使用 ...

  5. vue中基于echarts和基于高德地图的两种地图下钻与上浮方式

    ** vue中基于echarts和基于高德地图的两种地图下钻与上浮方式 ** 基于echarts的地图下钻与上浮(浙江省为例) 第一步:在<template>中构建承载echarts的do ...

  6. Vue中引入echarts的步骤,折线图、柱状图、饼图的常用配置项

    vue中引入echarts 一.安装echarts 二.引入echarts 1.全局引入 2.局部引入 三.vue中使用echarts 1.准备好函数 2.准备一个容器来放echarts 3.初始化容 ...

  7. 【Echarts】在Vue中使用Echarts

    在Vue中使用Echarts 引入第三方库vue-echarts vue-echarts安装与使用 vue2中使用Echarts vue-echarts安装 vue2中使用Echarts vue3中使 ...

  8. VUE 中实现echarts中国地图 人口迁徙

    VUE 中实现echarts中国地图 人口迁徙 效果图: 安装Echarts依赖 要在vue中使用Echarts 需要先安装依赖 npm install echarts --save 这是我的Echa ...

  9. vue中使用Echarts绘制K线图

    一.需求问题 在开发项目中,我们可能会遇到这样的需求.在vue中使用Echarts绘制K线图,进行数据分析.下面是一个简单的K线图绘制,数据是伪造的,虽然不多,但是能够实现大致的K线图效果. 二.需求 ...

最新文章

  1. 文件翻译002片:Process Monitor帮助文档(Part 2)
  2. 易语言录入数据到access里重复提示_一招搞定:excel数据共享协同
  3. 动手写个数字输入框1:input[type=number]的遗憾
  4. 算盘与电子计算机的区别之一是,算盘与电子计算机的区别之一是算盘没有存储能力...
  5. oracle的学习笔记(转)
  6. CRM呼叫中心里的Java stack
  7. 第十二题:设int x=1,float y=2,则表达式x/y的值是:
  8. 在Oracle中添加用户登录名称
  9. 华为的JAVA面试题及答案(部分)
  10. 华邦电子2022年1月营收为新台币86.90亿元
  11. mysql php pdo 迭代器_php – 创建PDO迭代器
  12. Vue遍历对象,数组,v-if、v-if-else、v-else
  13. java算法腐烂橘子,答案——腐烂的橘子算法题目
  14. 《HTML5游戏编程核心技术与实战》——2.3 图像API
  15. Python:将从chrome中复制的cookies转换为字典的函数
  16. Windows与Linux的UEFI引导修复教程
  17. 2016.2.14-2016.2.21 中大信(北京)工程造价咨询有限公司实习有感
  18. 将MP4视频和MP4音频合并成MP4文件
  19. 第二届全球区块链峰会随记
  20. Java练习——小游戏 模拟雷电

热门文章

  1. excel函数应用:最简单的条件求和函数DSUM
  2. 黑苹果键盘对应的相应按键
  3. 万年历单片机c语言,c51单片机万年历的c程序
  4. 3. 使用balsam.exe / balsamui.exe转换3D模型为 Mesh 文件共View3D的Model使用
  5. 大恒相机+VS开发+Qt 跑通示例工程
  6. C#大恒相机采集图片时图片上下对称折叠了
  7. 红旗linux6桌面版系统安装,红旗Linux6.0桌面正式版光盘安装{图解教程}
  8. 08-CSS属性:定位属性
  9. 戴尔R710服务器配置raid阵列(附图文)
  10. 获取两个向量中间位置的点